atop简介
atop是一款功能非常强大的Linux服务器监控工具。它能定期记录系统运行状态,并采集系统资源(如CPU、内存、磁盘、网络)的使用情况,同时还会监控进程的运行情况。通过将这些数据保存为日志文件的方式,我们可以在服务器出现问题时获取相应的atop日志文件进行详细分析。无论是查看系统资源的使用情况,还是追踪特定进程的运行状况,atop都能提供有用的信息。
使用atop工具,系统管理员可以及时发现服务器的性能瓶颈、异常情况以及资源利用率等问题,从而更好地管理和优化服务器的运行。
CentOS 8系列操作系统atop配置方法
1. 下载atop安装包。
2. 执行以下命令安装atop。
# rpm -ivh atop-2.6.0-1.el8.x86_64.rpm
3. 编辑配置文件,修改采样周期,atop配置文件为/etc/default/atop。
# vi /etc/default/atop
4. 可以根据自己的实际需求修改如下配置参数,修改后保存并退出。
LOGINTERVAL=15
LOGGENERATIONS=7
LOGPATH=/var/log/atop/
参数说明:
LOGINTERVAL:监控周期,单位为秒,默认600s采集一次数据,建议修改为15s。
LOGGENERATIONS:日志保留时间,单位为天,默认保留时间为28天,建议修改为7天,避免大量占用磁盘空间。
LOGPATH:日志保存路径。默认路径为/var/log/atop/。
5. 重启atop服务。
# systemctl restart atop
6. 可以设置atop服务自启动(根据实际情况设置)
# systemctl enable atop
7. 检查是否启动成功,active(running) 表示运行正常。
# systemctl status atop
CTyunOS、CentOS 7、EulerOS、Anolis、KylinOS系列操作系统atop配置方法
1. 下载atop安装包。
2. 执行以下命令安装atop。
# rpm -ivh atop-2.6.0-1.el7.x86_64.rpm --nodeps
3. 编辑配置文件,修改采样周期,atop配置文件为/etc/default/atop。
# vi /etc/default/atop
4. 可以根据自己的实际需求修改如下配置参数,修改后保存并退出。
LOGINTERVAL=15
LOGGENERATIONS=7
LOGPATH=/var/log/atop/
参数说明:
LOGINTERVAL:监控周期,单位为秒,默认600s采集一次数据,建议修改为15s。
LOGGENERATIONS:日志保留时间,单位为天,默认保留时间为28天,建议修改为7天,避免大量占用磁盘空间。
LOGPATH:日志保存路径。默认路径为/var/log/atop/。
5. 重启atop服务。
# systemctl restart atop
6. 可以设置atop服务自启动(根据实际情况设置)
# systemctl enable atop
7. 检查是否启动成功,active(running) 表示运行正常。
# systemctl status atop
使用源码方式安装(适用于Fedora、Debian、Ubuntu等系列操作系统)
1. 下载atop源码。
2. 执行以下命令解压源码atop。
# tar -zxvf atop-2.6.0.tar.gz
3. 执行以下命令查看systemctl版本。
# systemctl –version
如果版本大于等于220,直接进行下一步。
否则需要修改atop的Makefile文件,删除--now参数。
# vi atop-2.6.0/Makefile
删除systemctl命令后的--now参数
4. 安装编译atop依赖软件包。
Fedora系列操作系统执行以下命令安装:
# yum install make gcc zlib-devel ncurses-devel -y
Debian9、Debian10、Ubuntu系列操作系统执行以下命令安装:
# apt install make gcc zlib1g-dev libncurses5-dev libncursesw5-dev –y
5. 执行以下命令编译并安装atop。
# cd atop-2.6.0
# make systemdinstall
6. 编辑配置文件,修改采样周期,atop配置文件为/etc/default/atop。
# vi /etc/default/atop
可以根据自己的实际需求修改如下配置参数,修改后保存并退出。
LOGINTERVAL=15
LOGGENERATIONS=7
LOGPATH=/var/log/atop/
参数说明:
LOGINTERVAL:监控周期,单位为秒,默认600s采集一次数据,建议修改为15s。
LOGGENERATIONS:日志保留时间,单位为天,默认保留时间为28天,建议修改为7天,避免大量占用磁盘空间。
LOGPATH:日志保存路径。默认路径为/var/log/atop/。
7. 重启atop服务。
# systemctl restart atop
8. 可以设置atop服务自启动(根据实际情况设置)
# systemctl enable atop
9. 检查是否启动成功,active(running) 表示运行正常。
# systemctl status atop
atop结果分析
1. atop启动后,会将采集到的记录默认存放在/var/log/atop目录中,通过执行如下命令,查看日志文件。
atop -r /var/log/atop/atop_20230821
备注:atop_20230821为举例生成的日志文件,可通过ls /var/log/atop/查看所有生成的日志文件
atop常用指令如下所示:
c:按照进程CPU使用率进行降序筛选。
m:按照进程内存使用率进行降序筛选。
d:按照进程磁盘使用率进行降序筛选。
a:按照进程资源综合使用率进行降序筛选。
n:按照进程网络使用率进行降序筛选,需要额外安装内核模块才支持,默认不支持。
t:跳转到下一个监控采集点。
T:跳转到上一个监控采集点。
b:指定时间点。
2. 系统资源监控字段说明
ATOP行:主机名、采样日期和时间点。
PRC行:进程整体运行情况。
sys及user:进程在内核态及用户态所占CPU的时间比例。
#proc:进程总数。
#zombie:僵死进程的数量。
#exit:atop 采样周期期间退出的进程数量。
CPU行:CPU 整体(即多核CPU作为一个整体CPU资源)的使用情况。【各字段数值相加结果为N00%,N为CPU的核数】
sys及user:CPU被用于处理进程时,进程在内核态、用户态所占 CPU 的时间比例。
irq:CPU被用于处理中断的时间比例。
idle:CPU处在完全空闲状态的时间比例。
wait:CPU处在“进程等待磁盘IO导致CPU空闲”状态的时间比例。
CPL行:CPU负载情况。
avg1、avg5 和 avg15:过去1分钟、5分钟和15分钟内运行队列中的平均进程数量。
csw:指示上下文交换次数。
intr:指示中断发生次数。
MEM行:内存的使用情况。
tot:物理内存总量。
cache:用于页缓存的内存大小。
buff:用于文件缓存的内存大小。
slab:系统内核占用的内存大小。
SWP行:交换空间的使用情况。
tot:交换区总量。
free:空闲交换空间大小。
PAG行:虚拟内存分页情况
swin及swout:换入和换出内存页数。
DSK行:磁盘使用情况,每一个磁盘设备对应一列。如果有 sdb 设备,那么增加一行 DSK 信息。
sda:磁盘设备标识。
busy:磁盘忙时比例。
read及write:读、写请求数量。
NET行:多列 NET 展示了网络状况,包括传输层(TCP 和 UDP)、IP层以及各活动的网口信息。
XXXi:各层或活动网口收包数目。
XXXo:各层或活动网口发包数目。