掌握Linux性能监控神器:atop实用指南
在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
,系统管理员可以更好地监控和优化系统性能,提高系统的稳定性和响应速度。