原创

监控Linux系统资源与进程的超级好用工具-atop

操作系统:Linux

1. 安装atop

sudo yum install atop

#每天0时0分执行重启atop,即可将日志分割按天保存

0 0 * * * /usr/bin/systemctl restart atop

2. 安装网络监控模块netatop

sudo yum install kernel-devel-$(uname -r)
sudo yum install elfutils-libelf-devel
sudo wget https://www.atoptool.nl/download/netatop-3.1.tar.gz --no-check-certificate
tar -zxvf netatop-3.1.tar.gz
cd netatop-3.1
sudo make && sudo make install
sudo systemctl start netatop
操作系统:Linux

修改atop配置文件

LOGOPTS=""
LOGINTERVAL=30
LOGGENERATIONS=7
LOGPATH=/var/log/atop

重启atop服务

sudo systemctl restart atop

分析atop日志

atop -r /var/log/atop/atop_2024XXXX


#每天0时0分执行一次将日志分割按天保存

crontab -e 
0 0 * * * /usr/bin/systemctl restart atop


开机启动:

systemctl enable netatop

systemctl enable atop

命令说明:

打开日志文件后,您可以使用以下命令筛选数据。
g:切换回默认的综合输出视图。
c:显示进程列完整命令行。
m:按照进程内存使用率进行降序筛选。
d:按照进程磁盘使用率进行降序筛选。
a:按照进程资源综合使用率进行降序筛选。
n:按照进程网络使用率进行降序筛选。
t:跳转到下一个监控采集点。
T:跳转到上一个监控采集点。
b:跳转到指定时间点,格式为:YYYYMMDDhhmm。

参数

说明

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:各层或活动网口发送包大小。


正文到此结束
本文目录