在Linux系统管理中,性能监控是确保系统运行平稳的重要环节。atop是一款强大的性能监控工具,可以提供详细的系统性能数据,包括CPU、内存、磁盘和网络的使用情况。本文将介绍如何安装、配置和使用atop来监控Linux系统的性能。
安装atop
在绝大多数Linux发行版本中,atop工具能够便捷地通过各自内置的软件包管理系统进行安装。
在Debian/Ubuntu上:
sudo apt update
sudo apt install atop
在CentOS/RHEL上:
sudo yum install atop
atop的配置
编辑配置文件,修改采样周期。
[root@k8s-master ~]# cat /etc/sysconfig/atop
LOGOPTS=""
LOGINTERVAL=600 #监控周期为600s,也就是每隔600s抓取一次数据,一般我们修改为30
LOGGENERATIONS=28 #日志保留时间为28,一般我们设置为7天
LOGPATH=/var/log/atop #日志路径
- LOGINTERVAL默认是600,可以修改成30,单位秒。
- 默认atop日志保存周期为28天,可以根据实际修改LOGGENERATIONS的值为7,单位为天。
启动atop
安装完成后,可以通过以下命令启动atop:
systemctl start atop
检查是否启动成功,active(running)表示运行正常。如下图所示:
理解atop的界面
如下图所示,展示了一部分监控指标及其相应数值。需要注意的是,这些数值会依据实际的采样周期和所使用的atop软件版本的不同而有所变化。
主要参数说明如下:
- ATOP行:主机名、信息采样日期和时间点。
- PRC行:进程整体运行情况。
- #sys及user:内核态和用户态所占 CPU 的时间值。
- #proc:进程总数。
- #zombie:僵死进程的数量。
- #exit:采样周期期间退出的进程数量。
- CPU行:CPU 整体(即多核 CPU 作为一个整体 CPU 资源)的使用情况。CPU 行的各字段数值相加结果为 N*100%,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:各层或活动网口发包数目。
监控历史数据
atop还可以记录历史数据,以便后续分析。记录的文件通常存储在/var/log/atop/目录中。如下所示:
root@didiplus:~# ls -lh /var/log/atop/
total 460M
-rw-r--r-- 1 root root 53M Oct 3 00:00 atop_20241002
-rw-r--r-- 1 root root 47M Oct 4 00:00 atop_20241003
-rw-r--r-- 1 root root 51M Oct 5 00:00 atop_20241004
-rw-r--r-- 1 root root 66M Oct 6 00:00 atop_20241005
-rw-r--r-- 1 root root 50M Oct 7 00:00 atop_20241006
-rw-r--r-- 1 root root 54M Oct 8 00:00 atop_20241007
-rw-r--r-- 1 root root 62M Oct 9 00:00 atop_20241008
-rw-r--r-- 1 root root 57M Oct 10 00:00 atop_20241009
-rw-r--r-- 1 root root 24M Oct 10 10:41 atop_20241010
要查看历史数据,可以使用以下命令:
atop -r /var/log/atop/atop_YYYYMMDD
将YYYYMMDD替换为所需的日期。例如我要查看10月2号,如下图所示:
atop -r /var/log/atop/atop_20241002
自定义atop的参数
可以通过命令行参数自定义atop的行为。例如:
- 使用-s参数可以设置刷新时间(单位为秒):
atop -s 5
- 使用-P参数可以显示特定的进程信息,例如CPU或内存使用:
atop -P CPU
总结
atop是一款功能强大的Linux性能监控工具,能够提供实时和历史的系统性能数据。通过合理配置和使用atop,系统管理员可以更好地监控和优化系统性能,提高系统的稳定性和响应速度。