前言

最近出现了服务器cpu、内存升高导致服务器宕机的问题,发生宕机后,往往由于对系统资源数据收集的不齐全,导致无法快速查明发生宕机的原因。在通过云厂商客服和网络相关资料帮助下,了解了 atop 这个工具,本机对 atop 的安装及使用进行介绍。

atop 介绍

atop 是一款用于监控 Linux 系统资源与进程的工具,能够报告所有进程的活动。其以一定的频率记录系统和进程活动,采集的数据包含 CPU、内存、磁盘、网络的资源使用情况和进程运行情况,并能以日志文件的方式保存在磁盘中。对于每个进程,会显示CPU使用率、内存增长、磁盘使用率、优先级、用户名、状态和退出码等。当服务器出现问题后,可以根据相应的atop日志文件进行分析。

安装

atop 不是系统的内部自带命令,需要进行安装,接下来以 Ubuntu 系统为例子,介绍如何安装 atop 命令。

1 更新软件源

执行 sudo apt update 进行软件源的更新。

2 安装 atop

执行 sudo apt install atop 命令安装 atop。

img.png

配置

安装完 atop 后,可以使用 atop 的默认配置使用,也可根据使用情况修改默认配置,atop 默认配置在 /etc/sysconfig/atop,查看默认配置文件内容:

1
2
3
4
5
6
7
# /etc/default/atop
# see man atoprc for more possibilities to configure atop execution

LOGOPTS="-R"
LOGINTERVAL=600
LOGGENERATIONS=28
LOGPATH=/var/log/atop

LOGINTERVAL 是监控周期,默认600s,LOGGENERATIONS是日志文件保留周期,默认是28天,可以根据具体的需求进行修改。

使用

命令行输入 atop 命令即可使用,可以看到分为2块,上部是系统资源的使用情况,下部是没个进程的使用情况。 img_1.png

如果想看内存的使用情况,可以添加 -m 参数或者在 atop 命令输入 m

img_2.png

如果想看磁盘的情况可以输入 d,输入 c 可以查看各个进程的cpu使用情况。

atop 还有其它命令参数,具体可以执行 atop -h 查看。

分析日志

系统出现问题时,往往无法实时的查看系统资源的情况,这时我们可以通过 atop 的日志文件进行针对分析,atop 的日志文件存放在 /var/log/atop 路径下, 可以使用 atop -r /var/log/atop/atop_xx 命令进行查看分析,执行命令后同样进入相应的界面,但此界面不会实时更新数据,我们可以使用相应的命令进行 cpu 内存 磁盘等资源的分析。

img_3.png

小结

本文介绍了 linux 上一个常用的系统资源进程监控工具,通过此工具可以分析系统资源和进程的使用情况,并且可以针对不同时间点进行分析研究。 atop 是一个复杂的工具,需要我们持续学习使用。

参考