atop介绍
atop是一款用于监控Linux系统资源与进程的工具,能够报告所有进程的活动。其以一定的频率记录系统和进程活动,采集的数据包含CPU、内存、磁盘、网络的资源使用情况和进程运行情况,并能以日志文件的方式保存在磁盘中。对于每个进程,会显示CPU使用率、内存增长、磁盘使用率、优先级、用户名、状态和退出码等。当Linux出现问题后,可以获取相应的atop日志文件进行分析。
安装atop
yum install -y atop
配置并启动atop
#vim /etc/sysconfig/atop
# 修改LOGINTERVAL和LOGGENERATIONS
LOGOPTS=""
LOGINTERVAL=30 # 监控周期,建议将默认的监控周期600s修改为30s
LOGGENERATIONS=7 # 日志保留时间,建议将默认的日志保留时间28天修改为7天
LOGPATH=/var/log/atop
# 重启atop
systemctl restart atop
分析atop日志
atop启动后,会将采集记录存放在/var/log/atop目录下的日志文件中,后缀为日期
# 查看atop日志文件
atop -r /var/log/atop/atop_2023XXXX
atop常用命令 - 打开日志文件后,您可以使用以下命令筛选数据。
c:按照进程CPU使用率进行降序筛选。
m:按照进程内存使用率进行降序筛选。
d:按照进程磁盘使用率进行降序筛选。
a:按照进程资源综合使用率进行降序筛选。
n:按照进程网络使用率进行降序筛选。
t:跳转到下一个监控采集点。
T:跳转到上一个监控采集点。
b:指定时间点,格式为YYYYMMDDhhmm
atop系统资源监控字段含义
ATOP行 - 主机名、信息采样日期和时间点。
PRC行 - 进程整体运行情况。
sys、user:分别代表进程在内核态和用户态的运行时间。
#proc:进程总数。
#trun:处于running状态进程数。
#tslpi:处于sleeping interruptible状态的进程数。
#tslpu:处于sleeping uninterruptible状态的进程数。
#zombie:僵死进程的数量。
#exit:atop采样周期内退出的进程数。
CPU行 - CPU整体的使用情况,即多核CPU作为一个整体CPU资源的使用情况。CPU行各个字段数字相加结果为N*100%,其中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:物理内存总量。
free:空闲内存的大小。
cache:用于页缓存的内存大小。
buff:用于文件缓存的内存大小。
slab:系统内核占用的内存大小。
SWP行 - 交换空间的使用情况。
tot:交换区总量。
free:空闲交换空间大小。
PAG行 - 虚拟内存分页情况。
swin、swout:分别代表换入和换出内存页数。
DSK行 - 磁盘使用情况,每一个磁盘设备对应一列,如果有vdb设备,那么将会增加一行DSK信息。
vda:磁盘设备标识。
busy:磁盘处于busy状态的时间比例。
read、write:分别代表读、写请求数量。
NET行 - 多列NET展示了网络状况,包括传输层TCP和UDP、IP层以及各活动的网口信息。
****i:各层或活动网口接手包大小。
****o:各层或活动网口发送包大小。
评论区