使用atop工具监控Linux系统指标
使用atop工具监控Linux系统指标
更新时间:2025年3月20日 13:28:12atop是一款用于监控Linux系统资源与进程的工具,能够报告所有进程的活动。它以一定频率记录系统和进程的活动。当ECS实例出现问题时,您可以获取相应的atop日志文件进行分析。本文将介绍如何在Linux实例中安装、使用及自定义atop配置。
工具介绍
atop采集的数据涵盖了CPU、内存、磁盘和网络的资源使用情况以及进程运行状态,并能够以日志文件的形式保存至磁盘。对于每个进程,系统将显示CPU使用率、内存增长、磁盘使用率、优先级、用户名、状态及退出码等信息。您可以通过atop配置文件自定义日志采集的频率、日志文件的存储路径以及轮转策略等参数。
安装工具
本步骤以Alibaba Cloud Linux操作系统的ECS实例为例,为您介绍如何安装atop监控工具。
-
远程连接ECS实例。
具体操作,请参见使用Workbench工具以SSH协议登录Linux实例。
-
按照您的操作系统,执行对应的安装命令。
Alibaba Cloud Linux 3/2
-
执行如下命令,安装atop。
sudo yum install -y atop -
执行如下命令,启动atop服务。
sudo systemctl start atop
CentOS 7/8
-
执行如下命令,安装atop。
sudo yum install -y atop -
执行如下命令,启动atop服务。
sudo systemctl start atop
Ubuntu / Debian
-
更新软件源中的所有软件列表。
sudo apt update -
执行如下命令,安装atop。
sudo apt install -y atop -
执行如下命令,启动atop服务。
sudo systemctl start atop
CentOS Stream 9
-
执行如下命令,下载并安装atop。
sudo wget https://www.atoptool.nl/download/atop-2.11.0-1.el9.x86_64.rpm && sudo rpm -i atop-2.11.0-1.el9.x86_64.rpm -
执行如下命令,启动atop服务。
sudo systemctl start atop
Fedora
-
执行如下命令,安装atop。
sudo yum install -y atop -
执行如下命令,启动atop服务。
sudo systemctl start atop
openSUSE
-
执行如下命令,安装atop。
sudo zypper install -y atop atop-daemon -
执行如下命令,启动atop服务。
sudo systemctl start atop
Rocky Linux 9
-
执行如下命令,安装atop。
sudo wget https://www.atoptool.nl/download/atop-2.11.0-1.el9.x86_64.rpm && sudo rpm -i atop-2.11.0-1.el9.x86_64.rpm -
执行如下命令,启动atop服务。
sudo systemctl start atop
说明如果上述列举的操作系统未包含您的发行版,请访问
atop官方网站以获取安装信息。更多内容,请参见下载atop。 -
(可选)配置监控周期及日志保留时间
您可以参考以下步骤,以完成自定义 atop 监控周期、日志保留时间及日志存储路径的设置。有关配置文件的更多信息,可点击下方进行了解。
配置文件介绍
在Alibaba Cloud Linux 3/2、CentOS 7/8和Fedora系统中,atop的配置文件是/etc/sysconfig/atop。而在Ubuntu、Debian和openSUSE系统中,配置文件是/etc/default/atop。默认配置文件的内容如下所示:
LOGOPTS=""
LOGINTERVAL=600
LOGGENERATIONS=28
LOGPATH=/var/log/atop
有关配置文件的说明如下:
-
LOGOPTS:用于控制日志文件记录选项的一个重要参数,允许您自定义日志文件的保存路径、命名规则、滚动周期以及其他与日志记录相关的选项。默认为空,表示不使用任何额外选项。
-
LOGINTERVAL:监控周期,默认的监控周期为600秒。
重要在默认配置文件中,监控周期被设定为每600秒一次。如需通过atop工具采集历史日志以追踪和定位异常问题,建议您根据自身的实际场景和需求调整默认采集频率,以便更迅速地识别和定位问题。
-
LOGGENERATIONS:日志保留时间,为避免
atop长时间运行占用太多磁盘空间,默认的日志保留时间为28天。 -
LOGPATH:指定
atop日志文件的路径。默认值为/var/log/atop。
-
配置atop监控周期和日志保留时间。
-
执行如下命令,打开
atop配置文件。Alibaba Cloud Linux 3/2 、CentOS 7/8、Fedora
sudo vim /etc/sysconfig/atopUbuntu、Debian、openSUSE、CentOS Stream 9、Rocky Linux 9
sudo vim /etc/default/atop -
按
i进入编辑模式。 -
根据自身需求调整监控周期、日志保留时间及日志存储路径配置。示例中将监控周期修改为30秒,日志保留时间设定为10天,而日志路径则维持默认设置。
LOGOPTS="" LOGINTERVAL=30 LOGGENERATIONS=10 LOGPATH=/var/log/atop重要-
设置较小的监控周期可以使监控时间的颗粒度更细,但同时会增加系统的I/O负担,并导致生成的日志文件变大。若您在生产环境中使用atop,请根据自身需求合理设置,避免日志文件过大或日志记录占用过多I/O资源,从而影响实际业务的正常运行。
-
日志保留时间越长,意味着您能够查看更早时间的历史日志。然而,这也将占用更多的磁盘空间,因此请根据自身需求进行合理设置。
-
-
按
Esc键,输入:wq,保存并退出编辑。
-
-
执行如下命令,重启atop服务。
sudo systemctl restart atop
使用工具
使用atop工具进行Linux系统指标监控时,您需要关注常用命令及资源监控字段的含义。有关详细内容,可点击下方进行了解。
常用命令介绍
打开日志文件后,您可以在交互命令模式下使用以下命令。
-
g:切换回默认的综合输出视图。
-
c:显示进程列完整命令行。
-
m:按照进程内存使用率进行降序筛选。
-
d:按照进程磁盘使用率进行降序筛选。
-
a:按照进程资源综合使用率进行降序筛选。
-
n:按照进程网络使用率进行降序筛选。
-
t:跳转到下一个监控采集点。
-
T:跳转到上一个监控采集点。
-
b:指定时间点,格式为YYYYMMDDhhmm。
资源监控字段含义介绍
下图展示了部分监控字段及其数值,具体数值会因采样周期的不同而有所变化。该图仅供参考,具体数据应以您的实际数据为准。

主要参数说明如下:
|
参数(行) |
说明 |
|
ATOP |
主机名、信息采样日期和时间点。 |
|
PRC |
进程整体运行情况。
|
|
CPU |
CPU整体的使用情况,即多核CPU作为一个整体CPU资源的使用情况。CPU行各个字段数字相加结果为N*100%,其中N为CPU的核数。
|
|
CPL |
CPU负载情况。
|
|
MEM |
内存的使用情况。
|
|
SWP |
交换空间的使用情况。
|
|
PAG |
虚拟内存分页情况。 swin、swout:分别代表换入和换出内存页数。 |
|
DSK |
磁盘使用情况,每一个磁盘设备对应一列,如果有vdb设备,那么将会增加一行DSK信息。
|
|
NET |
多列NET展示了网络状况,包括传输层TCP和UDP、IP层以及各活动的网口信息。
|
当您在命令行界面运行atop命令时,默认会进入交互命令模式,在交互命令模式下,您可以通过在键盘输入支持的命令进行数据筛选,例如,按m键切换为内存信息视图。按q退出交互命令模式。有关支持的命令列表,请参见常用命令介绍。您也可以在交互命令模式下按?键以获取更多信息。
查看实时系统指标
-
每 5 秒查看一次系统指标。
atop 5
-
查看当前时间之后5分钟内(共30次,间隔10秒)的系统指标。
atop -M 10 30
-
查看当前时间之后10分钟(10 次,间隔 60 秒)的系统指标,并将结果写入文件。
atop -M 60 10 > /log/atop.mem
查看历史指标日志
atop启动后,会默认将采集记录存放在/var/log/atop目录下的日志文件中。您可以通过执行如下命令,查看相关历史指标日志。
-
请使用下方示例的
atop -r相关命令查看指标日志,请勿使用文本编辑器打开atop日志文件。 -
使用atop查看历史指标日志时,请确保您所指定日期的历史指标日志已存在于atop日志文件路径中,若文件不存在会出现
stat raw file: No such file or directory报错。
-
查看当天历史指标日志。
atop -r
-
查看昨天历史指标日志。
atop -r y
-
查看指定日期内的历史指标日志。示例中,指定日期为2024年11月06日。
atop -r 20241106
-
查看指定日期内自指定时间起的历史指标日志。示例中,指定日期为2024年11月06日,开始时间为14:00。
atop -r 20241106 -b 14:00
-
查看指定日期内,指定时间段的历史指标日志。示例中,指定的日期为2024年11月5日,时间段为00:04至00:08。
atop -r 20241105 -b 00:04 -e 00:08
查看系统活动报告
-
查看当前系统在 1 分钟内(12 次,间隔 5 秒)的CPU使用率报告。
atopsar -c 5 12
-
查看当天指定时间段的内存指标报告。示例中,时间段为18:00至18:01。
atopsar -m -b 18:00 -e 18:01
-
查看指定日期内,指定时间段的内存指标报告。示例中,指定的日期为2024年11月5日,时间段为18:00至18:01。
atopsar -m -r 20241105 -b 18:00 -e 18:01
其他操作
配置天级别日志轮转策略
您可以参考以下步骤,为atop配置按天轮转日志策略,从而实现每天生成一个atop指标日志文件。
-
(条件可选)根据自身需求调整监控周期、日志保留时间及日志存储路径配置,相关操作,请参见(可选)配置监控周期及日志保留时间。
-
执行如下命令,将每日日志轮转相关服务设置为开机启动并启动服务。
sudo systemctl enable --now atop atopacct atop-rotate.timer
以上示例设置为每天生成一个日志文件,如果您的业务需要对日志进行更加复杂的处理,您可以结合logrotate或自定义脚本等方式实现日志管理。
加载可选的netatop内核模块
如需监测网络使用率,可安装网络监控模块netatop。本示例以Alibaba Cloud Linux 3系统为例,为您展示如何为atop加载可选的netatop内核模块。
netatop能够监测每个进程或线程发送和接收的TCP及UDP数据包统计信息。在atop中,netatop并未默认安装。如需在其他Linux发行版上加载可选的netatop内核模块,请参考atop官方手册进行安装。更多内容,请参见Module netatop。
-
执行如下命令,为当前内核安装内核开发包及编译所需软件环境。
sudo yum install -y kernel-devel dkms elfutils-libelf-devel -
执行如下命令,下载最新版本netatop源码至指定目录。
cd /usr/src/ && sudo wget https://www.atoptool.nl/download/netatop-3.2.2.tar.gz --no-check-certificate -
执行如下命令,解压源码并进入源码目录。
sudo tar -zxvf netatop-3.2.2.tar.gz && cd netatop-3.2.2 -
执行如下命令,基于源码构建并安装模块和守护程序。
sudo make && sudo make install -
执行如下命令,启动
netatop服务。sudo systemctl start netatop

浙公网安备 33010602011771号