简介
ATOP是一款用于观察Linux性能的ASCII全屏交互式工具。类似于top,每隔一段时间报告 CPU,Memory,Disk,Network
等硬件的性能信息,对于严重过载的资源会高亮显示。 除此之外,还包括进程级的相关统计信息。比如进程的CPU、内存、磁盘利用率,用户名,进程状态,启动时间,进程ID等。对于在上一个周期内退出的进程还会显示退出状态码。所有进程信息默认按CPU占用率降序排列。
安装
在centos可以使用yum install atop
来安装。安装完成之后,再运行systemctl start atop
来启动服务,查看一下/usr/lib/systemd/system/atop.service
启动配置文件,如下:
1 | [root@localhost ~]# cat /usr/lib/systemd/system/atop.service |
可以看出,服务启动的是命令是/usr/share/atop/atop.daily
,再分析一下atop.daily
,每天0点会定时分割日志,所保存的日志是放在/var/log/atop/
目录下。默认情况下是每10分钟采集一次数据,日志保存天数为28天,日志文件以”atop_YYYYMMDD”的方式命名。
1 | [root@localhost ~]# cat /usr/share/atop/atop.daily |
使用方法
使用atop
就可以直接进行交互模式,默认情况下是每10秒更新,分别显示了进程数量、CPU使用率、负载、内存、SWAP、磁盘以及网卡等信息,所有的信息都在同一行上面展示。
值得注意的是CPU这一块,其使用率是使用率*CPU核数
。其他具体含义可以参考:http://www.lyyyuna.com/2018/07/04/perftest-atop/
有如下模式:
- 按 g 进入默认模式
- 按 m 进入内存模式,详细显示子进程的内存使用的情况
- 按 d 进入磁盘模式,详细显示子进程的磁盘读写的情况
- 按 p 进入进程模式,显示进程所占用的数量、CPU、内存、磁盘读写,可以用来快速定位有异常的进程
- 按 c 进入命令视图,该视图展示了与每个进程相对应的命令。
- 按 u 查看用户占用资源情况
- 按 P(大写)正则匹配,显示所有匹配到的进程
- 按 n 进入
排序命令:
- 大写C,CPU排序
- 大写M,内存排序
- 大写D,磁盘排序
- 大写A,智能排序
查看历史记录
atop查看历史记录
atop -b 15:30 -e 21:00 -r atop_20190526
查看15:30~21:00之间的原因记录,进入之后,按 t
显示下一采集周期的数据,按 T
显示前一个采集周期的数据。
还可以自己查看原始数据,如下是查看CPU使用率的计算方式,参考链接:http://bean-li.github.io/CPU-sharp-pulse/
1 | [root@localhost ~]# atop -P PRC -b 15:30 -e 15:34 -r /var/log/atop/atop_20190526 | awk '{print $8,$7,$19,$3,$4,$5, $11,$12, $11+$12}' |sort -nk 9 |tail -n 10 |
atopsar查看历史记录
使用atopsar是可以类似sar一样,可以查看到系统的整体情况,如下:
1 | [root@localhost ~]# atopsar -r /var/log/atop/atop_20190526 -b 15:30 -e 15:40 -d |
具体使用atop --help
来查看更多的参数。
参考资料
官方:https://www.atoptool.nl/systemreports.php