操作场景
本节操作介绍atop和kdump的配置方法。
不同的Linux版本使用的atop工具版本不同,因此配置方法稍微有所不同。

配置atop:
atop简介
atop安装前准备
CentOS 7/8、AlmaLinux、 Rocky Linux系列操作系统配置atop
CentOS 6系列操作系统配置atop
Ubuntu 20/22、Debian 10/11系列操作系统配置atop
Ubuntu 18、Debian 8/9系列操作系统配置atop
Ubuntu 16系列操作系统配置atop
SUSE 15、SUSE 12系列操作系统配置atop
使用源码方式安装(适用于CentOS Stream 9、openEuler、EulerOS等系列操作系统)
分析atop日志
配置kdump:
配置kdump使用须知
kdump简介
配置kdump操作步骤
检查kdump配置是否生效
atop简介
atop是一款用于监控Linux系统资源与进程的工具,它以一定的频率记录系统的运行状态,所采集的数据包含系统资源(CPU、内存、磁盘和网络)使用情况和进程运行情况,并能以日志文件的方式保存在磁盘中,服务器出现问题后,可获取相应的atop日志文件进行分析。
atop安装前准备
云服务器已绑定弹性公网IP。
云服务器可以访问yum软件源。
CentOS 7/8、AlmaLinux、 Rocky Linux系列操作系统配置atop
执行以下命令,安装atop。yum install -y atop
编辑配置文件,修改采样周期。vi /etc/sysconfig/atop
修改如下配置参数,修改后保存并退出。
LOGINTERVAL默认是600,可以修改成15,单位秒。
默认atop日志保存周期为28天,可以根据实际修改LOGGENERATIONS的值为3,单位为天。LOGINTERVAL=15
LOGGENERATIONS=3
启动atop服务。systemctl start atop
检查是否启动成功,active(running) 表示运行正常。systemctl status atop
atop.service - Atop advanced performance monitor
Loaded: loaded (/usr/lib/systemd/system/atop.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2024-03-6 11:49:47 CST; 2h 27min ago
CentOS 6系列操作系统配置atop
执行以下命令,安装atop。yum install -y atop
编辑配置文件,修改采样周期。vi /etc/sysconfig/atop
修改如下配置参数,修改后保存并退出。
LOGINTERVAL默认是600,可以修改成15,单位秒。
LOGINTERVAL=15
vi /etc/logrotate.d/atop
修改如下配置参数,修改后保存并退出。
默认atop日志保存周期为40天,可以根据实际修改“-mtime”的值为3,单位为天。
postrotate
/usr/bin/find /var/log/atop/ -maxdepth 1 -mount -name atop_\[0-9\]\[0-9\]\[0-9\]\[0-9\]\[0-9\]\[0-9\]\[0-9\]\[0-9\]\* -mtime +3 -exec /bin/rm {} \;
endscript
启动atop服务。service atop start
检查是否启动成功,is running 表示运行正常。service atop status
atop (pid 3170) is running
Ubuntu 20/22、Debian 10/11系列操作系统配置atop
执行以下命令,安装atop。apt-get install -y atop
编辑配置文件,修改采样周期。vi /etc/default/atop
修改如下配置参数,修改后保存并退出。
LOGINTERVAL默认是600,可以修改成15,单位秒。
默认atop日志保存周期为28天,可以根据实际修改LOGGENERATIONS的值为3,单位为天。LOGINTERVAL=15
LOGGENERATIONS=3
启动atop服务。systemctl start atop
检查是否启动成功,active(running) 表示运行正常。systemctl status atop
atop.service - Atop advanced performance monitor
Loaded: loaded (/etc/init.d/atop; bad; vendor preset: disabled)
Active: active (running) since Sat 2024-03-11 14:09:47 CST; 16s ago
Ubuntu 18、Debian 8/9系列操作系统配置atop
执行以下命令,安装atop。apt-get install -y atop
编辑配置文件,修改采样周期。vi /usr/share/atop/atop.daily
修改如下配置参数,修改后保存并退出。
LOGINTERVAL默认是600,可以修改成15,单位秒。
默认atop日志保存周期为28天,可以根据实际修改“-mtime”的值为3,单位为天。LOGINTERVAL=15
……
( (sleep 3; find $LOGPATH -name 'atop_*' -mtime +3 -exec rm {} \;)& )
启动atop服务。systemctl start atop
检查是否启动成功,active(running) 表示运行正常。systemctl status atop
atop.service - Atop advanced performance monitor
Loaded: loaded (/etc/init.d/atop; bad; vendor preset: disabled)
Active: active (running) since Sat 2024-03-6 14:09:47 CST; 15s ago
Ubuntu 16系列操作系统配置atop
执行以下命令,安装atop。apt-get install -y atop
编辑配置文件,修改采样周期。vi /etc/default/atop
修改如下配置参数,修改后保存并退出。
LOGINTERVAL默认是600,可以修改成15,单位秒。
默认atop日志保存周期为28天,不支持修改。LOGINTERVAL=15
启动atop服务。systemctl start atop
检查是否启动成功,active(running) 表示运行正常。systemctl status atop
atop.service - LSB: Monitor for system resources and process activity
Loaded: loaded (/etc/init.d/atop; bad; vendor preset: enabled)
Active: active (running) since Mon 2024-04-29 19:33:22 CST; 38s ago
SUSE 15、SUSE 12系列操作系统配置atop
下载atop源码安装包。wget https://www.atoptool.nl/download/atop-2.6.0-1.src.rpm
执行以下命令安装源码atop。rpm -ivh atop-2.6.0-1.src.rpm
安装编译atop依赖软件包zypper -n install rpm-build ncurses-devel zlib-devel
执行以下命令编译atopcd /usr/src/packages/SPECS
rpmbuild -bb atop-2.6.0.spec
执行以下命令安装atopcd /usr/src/packages/RPMS/x86_64
rpm -ivh atop-2.6.0-1.x86_64.rpm
编辑配置文件,修改采样周期。vi /etc/default/atop
修改如下配置参数,修改后保存并退出。
LOGINTERVAL默认是600,可以修改成15,单位秒。
默认atop日志保存周期为28天,可以根据实际修改LOGGENERATIONS的值为3,单位为天。
LOGINTERVAL=15
LOGGENERATIONS=3
重启atop服务。systemctl restart atop
检查是否启动成功,active(running) 表示运行正常。systemctl status atop
atop.service - Atop advanced performance monitor
Loaded: loaded (/usr/lib/systemd/system/atop.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2021-06-19 16:50:01 CST; 6s ago
使用源码方式安装(适用于CentOS Stream 9、openEuler、EulerOS等系列操作系统)
下载atop源码。wget https://www.atoptool.nl/download/atop-2.6.0.tar.gz
执行以下命令解压源码atop。tar -zxvf atop-2.6.0.tar.gz
执行以下命令查看systemctl版本。systemctl --version
如果版本大于等于220,直接进行下一步。
否则需要修改atop的Makefile文件,删除--now参数。
vi atop-2.6.0/Makefile
删除systemctl命令后的--now参数
then /bin/systemctl disable atop 2> /dev/null; \
/bin/systemctl disable atopacct 2> /dev/null; \
/bin/systemctl daemon-reload; \
/bin/systemctl enable atopacct; \
/bin/systemctl enable atop; \
/bin/systemctl enable atop-rotate.timer; \
安装编译atop依赖软件包。 SUSE12、SUSE15系列操作系统执行以下命令安装:zypper -n install make gcc zlib-devel ncurses-devel
EulerOS、Fedora系列操作系统执行以下命令安装:yum install make gcc zlib-devel ncurses-devel -y
Debian9、Debian10、Ubuntu系列操作系统执行以下命令安装:apt install make gcc zlib1g-dev libncurses5-dev libncursesw5-dev -y
执行以下命令编译并安装atop。cd atop-2.6.0
make systemdinstall
编辑配置文件,修改采样周期。vi /etc/default/atop
添加如下配置参数,修改后保存并退出。
LOGINTERVAL默认是600,可以修改成15,单位秒。
默认atop日志保存周期为28天,可以根据实际修改LOGGENERATIONS的值为3,单位为天。LOGOPTS=""
LOGINTERVAL=15
LOGGENERATIONS=3
LOGPATH=/var/log/atop
重启atop服务。systemctl restart atop
检查是否启动成功,active(running) 表示运行正常。systemctl status atop
atop.service - Atop advanced performance monitor Loaded: loaded(/lib/systemd/system/atop.service; enabled) Active: active (running) since Sun2021-07-25 19:29:40 CST; 4s ago .
分析atop日志
atop启动后,会将采集记录存放在/var/log/atop目录下的日志文件中。
执行如下命令,查看日志文件。
atop -r /var/log/atop/atop_2024XXXX
atop常用命令 打开日志文件后,您可以使用以下命令筛选数据。 c:按照进程CPU使用率进行降序筛选。
m:按照进程内存使用率进行降序筛选。
d:按照进程磁盘使用率进行降序筛选。
a:按照进程资源综合使用率进行降序筛选。
n:按照进程网络使用率进行降序筛选。
t:跳转到下一个监控采集点。
T:跳转到上一个监控采集点。
b:指定时间点,格式为YYYYMMDDhhmm。
系统资源监控字段含义下图为部分监控字段以及数值,具体数值根据采样周期和atop版本有所不同。下图仅供参考,具体数据以您实际数据为准。
图1 系统资源监控字段
主要参数说明如下: ATOP 行:主机名、信息采样日期和时间点。
PRC 行:进程整体运行情况。
#sys 及 user:内核态和用户态所占 CPU 的时间值。
#proc:进程总数。
#zombie:僵死进程的数量。
#exit:采样周期期间退出的进程数量。
CPU 行:CPU 整体(即多核 CPU 作为一个整体 CPU 资源)的使用情况。CPU 行的各字段数值相加结果为 N*,N 为 CPU 核数。
#sys 及 user:内核态和用户态所占 CPU 的时间比例。
#irq:CPU 被用于处理中断的时间比例。
#idle:CPU 处在完全空闲状态的时间比例。
#wait:CPU 处在进程等待磁盘 IO ,导致 CPU 空闲状态的时间比例。
CPL 行:CPU 负载情况。
#avg1、avg5 和 avg15:过去1分钟、5分钟和15分钟内运行队列中的平均进程数量。
#csw:指示上下文交换次数。
#intr:指示中断发生次数。
MEM 行:内存的使用情况。
#tot:物理内存大小。
#free:空闲的物理内存大小
#cache :用于页缓存的内存大小。
#buff:用于文件缓存的内存大小。
#slab:系统内核占用的内存大小。
SWP 行:交换空间的使用情况。
#tot:交换区总量。
#free:空闲交换空间大小。
DSK 行:磁盘使用情况,每一个磁盘设备对应一列。如果有 sdb 设备,那么增加一行 DSK 信息。
#sda:磁盘设备标识。
#busy:磁盘忙时比例。
#read 及 write:读、写请求数量。
NET 行:多列 NET 展示了网络状况,包括传输层(TCP 和 UDP)、IP 层以及各活动的网口信息。
#xxxxxi:各层或活动网口收包数目。
#xxxxxo:各层或活动网口发包数目。
停止 atopatop运行会占用额外的系统和磁盘资源,不建议在业务环境下长期运行,您可在问题排查完成后,执行以下命令停止atop。
systemctl stop atop
CentOS 6执行以下命令停止atop。
service atop stop
配置kdump使用须知
配置kdump的操作适用于EulerOS以及CentOS 7系列Linux产品, 且云服务器的虚拟化类型为KVM。了解更多
kdump简介
kdump是系统崩溃的时候,用来转储运行内存的一个工具。系统一旦崩溃,内核就无法正常工作了,这个时候将由kdump提供一个用于捕获当前运行信息的内核,该内核会将此时内存中的所有运行状态和数据信息收集到一个dump core文件中以便之后分析崩溃原因。
配置kdump操作步骤
查看是否已经安装kexec-tools。rpm -q kexec-tools
如果没有安装,则执行下面命令安装。
yum install -y kexec-tools
开启kdump默认启动。systemctl enable kdump
设置craskkernel参数,设置这个参数的目的是预留内存给capture kernel。首先查看参数是否已经设置。
grep crashkernel /proc/cmdline
如果有显示,则表示已经设置,如果没有显示,则需要重新设置。
设置crashkernel,编辑/etc/default/grub文件。 GRUB_TIMEOUT=5
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=rhel00/root rd.lvm.lv=rhel00/swap
rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
找到GRUB_CMDLINE_LINUX参数,添加crashkernel=auto,其他内容不变。
执行grub命令,使以上配置生效。grub2-mkconfig -o /boot/grub2/grub.cfg
打开/etc/kdump.conf文件中找到“path”参数,添加以下内容。path /var/crash
默认是保存在/var/crash目录下,如果要保存到其他目录,则改成对应的目录,
例如保存在/home/kdump下,则改成: path /home/kdump
说明: 要确保指定的路径有足够的空间保存vmcore,建议剩余空间不小于RAM大小;也可以保存在SAN,nfs等共享设备上。
设置转存vmcore级别。修改/etc/kdump.conf文件,添加如下参数,如果存在则无需添加。
core_collector makedumpfile -d 31 -c
-c表示压缩vmcore文件,
-d表示过滤掉部分无效的内存数据,可以根据需要调整,一般31即可,31是由如下的值与计算而成。
zero pages = 1
cache pages = 2
cache private = 4
user pages = 8
free pages = 16
执行如下命令重启系统,使以上配置生效。reboot
检查kdump配置是否生效
执行以下命令,确认回显信息中crashkernel=autocat /proc/cmdline |grep crashkernel
BOOT_IMAGE=/boot/vmlinuz-3.10.0-514.44.5.10.h142.x86_64 root=UUID=6407d6ac-c761-43cc-a9dd-1383de3fc995 ro crash_kexec_post_notifiers softlockup_panic=1 panic=3 reserve_kbox_mem=16M nmi_watchdog=1 rd.shell=0 fsck.mode=auto fsck.repair=yes net.ifnames=0 spectre_v2=off nopti noibrs noibpb crashkernel=auto.UTF-8
执行以下命令,并确认回显信息中的配置信息正确。grep core_collector /etc/kdump.conf |grep -v ^"#"
core_collector makedumpfile -l --message-level 1 -d 31
执行以下命令,并确认回显信息中的配置信息正确。grep path /etc/kdump.conf |grep -v ^"#"
path /var/crash
执行以下命令,并确认回显信息中的Active的状态为active (exited)。systemctl status kdump
● kdump.service - Crash recovery kernel arming
Loaded: loaded (/usr/lib/systemd/system/kdump.service; enabled; vendor preset: enabled)
Active: active (exited) since Tue 2019-04-09 19:30:24 CST; 8min ago
Process: 495 ExecStart=/usr/bin/kdumpctl start (code=exited, status=0/SUCCESS)
Main PID: 495 (code=exited, status=0/SUCCESS)
CGroup: /system.slice/system-hostos.slice/kdump.service
执行测试命令。echo c > /proc/sysrq-trigger
这会触发kdump,重新启动,并将生成的vmcore文件保存的path参数指定的位置。
检查vmcore是否生成。到所在环境path参数所指定的路径查看是否有vmcore文件生成,例如/var/crash/目录。
ll /var/crash/
可以看到生成了一个文件夹,里面有vmcore文件。
华为云共建智能世界云底座[52] 华为公有云专属云主机DeH服务[51] 华为云场景化解决方案[49] 华为公有云产品[44] 华为云云主机[43] 华为云产品服务[43] 华为云服务器应用[43] 华为弹性云服务器[39] 华为公有云架构解决方案[38] 华为云提供的服务[37] 华为虚拟私有云vpc[37] 华为公有云介绍[32] 华为公有云提供哪些计算服务[30] 华为云漏洞扫描[27] 华为云软件开发服务[27] 华为公有云和私有云区别[27] 华为云域名注册[26] 华为云官网登陆[26] 华为公有云解决方案[26] 华为私有云产品有哪些[26] 华为私有云服务[25] 华为云数据库[23] 华为云安全[22] 华为公有云官网[22] 华为私有云的搭建方案[22] 华为云弹性云服务器应用[21] 华为公有云平台[20] 华为公有云行业解决方案[20] 华为私有云解决方案服务定制领导者[20] [19] 华为私有云服务器[19] 华为私有云网格结构[19] 华为公有云视讯解决方案[18] 华为云官网[17] 华为云速建站[17] 华为私有云架构[17] 华为云优势[16] 华为云服务器[16] 华为私有云部署架构[16] 华为云企业邮箱服务 (SAAS[15] 华为云邮箱[15] 华为公有云是什么[15] 华为公有云架构[15] 华为云迁移解决方案[14] 华为公有云解决方案服务定制领导者[14] 华为私有云解决方案[14] 云邮箱)[13] 华为云园区解决方案[13] 华为云服务总代理[13] 华为云速智能客服[13] 华为公有云服务[13] 华为私有云搭建方案[13] 云与计算咨询服务[12] 云与计算培训服务[11] 华为云备份[11] 华为云服务器配置[11] 华为云服务服务中心[11] 华为云服务核心分销商[11] 华为公有云[11] 华为私有云搭建[11] 云迁移与运营支撑服务[10] 公有云私有云混合云[10] 华为云服务器ECS[10] 华为云服务器成功案例[10] 华为云解决方案[10] 华为公有云通用解决方案[9] 华为智慧云课堂解决方案[9] 华为云数据解决方案[8] 华为云是什么[8] 华为私有云平台[8] 云与计算客户支持与运维使能服务[7] 华为云官网网站[7] 华为云智慧教育解决方案[7] 华为云智慧校园解决方案[7] 华为云桌面系统集成商[7] 华为云经销商[7] 华为代理公司有哪些[7] 华为私有云方案[7] 智慧教育云平台解决方案[7] 华为云服务器试用[6] 华为云网站建设服务器[6] 华为手机代理加盟[6] 华为私有云[6] 大数据使能服务[6] 智慧教育云计算解决方案[6] 华为云云主机 [5] 华为云智慧***解决方案[5] 华为云桌面总代理商[5] 云与计算客户支持服务[4] 华为云产品介绍[4] 华为云智慧制造解决方案[4] 华为云场景化解决方案[3] 华为公有云官网[3] 华为公有云通用解决方案[3] 华为弹性云服务器[3] 华为公有云产品 [3] 华为云产品服务[2] 华为云域名注册[2] 华为云数据库[2] 华为云智慧校园解决方案[2] 华为云服务器应用[2] 华为云服务器成功案例[2] 华为云软件开发服务[2] 华为公有云产品[2] 华为公有云介绍[2] 华为公有云和私有云区别[2] 华为公有云服务[2] 华为公有云架构[2] 华为公有云架构解决方案[2] 华为公有云视讯解决方案[2] 华为公有云解决方案[2] 华为私有云产品有哪些[2] 华为私有云服务[2] 华为私有云架构[2] 智慧教育云计算解决方案[2] 云规划设计与实施服务[2] 云邮箱[2] 华为云产品报价[2] 华为公有云通用解决方案 [2] 华为云服务器成功案例[1] 华为云桌面系统集成商[1] 云与计算客户支持与运维使能服务[1] 云迁移与运营支撑服务[1] 云迁移与运营支撑服务 [1] 华为云共建智能世界云底座[1] 华为云备份[1] 华为云安全[1] 华为云官网登陆[1] 华为云弹性云服务器应用[1] 华为云提供的服务[1] 华为云数据解决方案[1] 华为云智慧制造解决方案[1] 华为云服务器[1] 华为云服务核心分销商 [1] 华为云漏洞扫描[1] 华为云迁移解决方案 [1] 华为云速智能客服[1] 华为云邮箱[1] 华为公有云专属云主机DeH服务[1] 华为公有云是什么[1] 华为公有云行业解决方案[1] 华为私有云搭建[1] 华为私有云方案[1] 华为私有云服务.华为公有云专属云主机DeH服务.华为云产品报价[1] 华为私有云的搭建方案[1] 华为私有云网格结构[1] 华为私有云解决方案[1] 华为私有云部署架构[1] 为云产品服务[1] 云与计算咨询服务 [1] 云与计算客户支持与运维使能服务 [1] 云与计算客户支持与运维使能服务 云与计算客户支持服务[1] 华为云是什么 [1] 华为云软件开发服[1] 华为云速智能客服 [1] 华为代理加盟[1] 华为公有云架构解决方案 [1] 华为公有云解决方案服务定制领导者 [1] 华为弹性云[1] 华为弹性云服务器 华为云域名注册 华为云服务器应用[1] 华为私有云搭建 [1] 华为私有云搭建方案 [1] 华为私有云部署架构 [1] 大数据使能服务 [1] 撒[1]