说明:不同Linux版本使用的atop工具版本不同,配置方法稍微有所不同,本文以CentOS7/8进行介绍。
atop是一款用于监控Linux系统资源与进程的工具,它以一定的频率记录系统的运行状态,所采集的数据包含系统资源(CPU、内存、磁盘和网络)使用情况和进程运行情况,并能以日志文件的方式保存在磁盘中,服务器出现问题后,可获取相应的历史日志文件进行分析。
1 安装atop
sudo yum install atop –y
2 编辑配置文件
默认配置文件 /etc/sysconfig/atop的内容如下:
LOGOPTS=""
LOGINTERVAL=600
LOGGENERATIONS=28
LOGPATH=/var/log/atop
配置项说明:
- LOGOPTS:额外的日志记录选项。例如,设置-L可在日志轮转时创建一个指向最新日志的符号链接 /var/log/atop/atop_current,方便快速访问。
- LOGINTERVAL:日志记录的采样间隔,单位是秒。默认值通常是 600(即10分钟),表示每10分钟记录一次系统快照。
- LOGGENERATIONS:日志文件的生命周期,单位是天。默认值通常是28,表示 atop 会自动删除28天前的旧日志文件。
- LOGPATH:日志文件存储路径,默认为/var/log/atop。
根据需求及实际情形修改配置项,如LOGINTERVAL修改为30,LOGGENERATIONS修改为7。
3 启动服务
systemctl enable –now atop atopacct atop-rotate.timer
注:atopacct守护进程的核心作用是开启并利用Linux内核的“进程记账”功能,为 atop 补全进程的“完整档案”。
atop-rotate.timer是一个systemd定时器,它确保 atop 的日志文件按天进行分割和归档。
检查服务状态
systemctl status atop atopacct atop-rotate.timer
注:atop atopacct是 active(running)表示运行正常,atop-rotate.timer是active(waiting) 表示运行正常。
4 实时监控
直接在终端输入 atop 即可进入交互式实时监控界面(如图示)。
也可通过指定参数来控制刷新频率和采样次数:atop [采样间隔秒数] [采样次数]

atop:默认10秒采集一次。
atop 5:每5秒采集一次。
atop 10 30:每10秒采集一次,共采集30次。
atop 30 10 > /tmp/atop.mem 以30秒为间隔,采集10次,并将结果写入文件atop.mem。
进入交互界面后,可以使用以下快捷键切换视图或排序:
| 按键 | 功能 |
| c | 显示完整命令行 |
| g | 通用视图(默认) |
| m/M | 内存视图/按内存排序 |
| d/D | 磁盘视图/按磁盘排序 |
| n/N | 网络视图/按网络排序(需安装并加载netatop内核模块) |
| a | 聚合视图,将同一程序的所有线程/进程资源聚合显示 |
| C | 按 CPU 排序 |
| t / T | t:跳转到下一个监控时间点;T:跳转到上一个监控时间点 |
| b | 跳转到指定时间点(格式 HH:MM) |
| h | 显示帮助 |
| q | 退出 |
5 查看历史日志
atop服务成功运行后,会定期在/var/log/atop/目录下生成以atop_YYYYMMDD格式命名的二进制日志文件。
5.1 使用atop -r <日志文件>命令加载指定的日志文件。
查看当天的日志:atop -r
查看指定日期的日志:atop -r /var/log/atop/atop_YYYYMMDD
加载日志后,界面显示的是该日志文件的第一个时间点快照。
- 按 t 键:向后跳转到下一个时间点的快照。
- 按 T 键:向前跳转到上一个时间点的快照。
- 按 b 键:输入具体时间(格式 HH:MM),直接跳转到该时间点。
在查看日志时,同样可以使用交互命令来排序和筛选。
5.2 直接通过命令行指定时间段查看历史日志
若需查看特定时间段内的系统资源占用情况(例如排查固定时间点的异常),可在加载日志时通过 -b 和 -e 参数直接指定起止时间,无需在交互界面中逐步翻页。
atop -r /var/log/atop/atop_YYYYMMDD -b HH:MM -e HH:MM
示例:查看 2026 年8 月1 日 09:00 至 09:30 的系统资源占用情况:
atop -r /var/log/atop/atop_20260801 -b 09:00 -e 09:30
6 生成指标报告
atopsar是atop工具包中的一个非交互式的命令行工具,用于从atop记录的二进制日志文件中提取数据并生成系统性能报告。
6.1 atopsar命令基本语法
atopsar [options] [interval] [count]
- [options]:用于指定报告类型的标志,例如-c(CPU),-m(内存),-d(磁盘)。
- [interval]:指定输出报告的时间间隔,单位为秒。
- [count]:指定输出报告的次数。
6.2 示例
查看当前系统在 1 分钟内(12 次,间隔 5 秒)的CPU使用率指标报告。
atopsar -c 5 12
查看当天10:00至10:10的内存指标报告
atopsar -m -b 10:00 -e 10:10
查看2026年8月1日 15:00至15:10的内存指标报告。
atopsar -m -r /var/log/atop/atop_20260801 -b 15:00 -e 15:10(如图示)

附录:安装网络监控模块 (netatop)
atop 默认不支持按进程统计网络流量。如需此功能,需安装 netatop模块。netatop内核模块能够监测每个进程或线程发送和接收的TCP及UDP数据包统计信息。
1 安装组件
sudo yum install -y kernel-devel dkms elfutils-libelf-devel
2 下载netatop源码至指定目录
cd /usr/src/ && sudo wget https://www.atoptool.nl/download/netatop-3.2.2.tar.gz
3 解压源码并进入源码目录。
sudo tar -zxvf netatop-3.2.2.tar.gz && cd netatop-3.2.2
4 基于源码构建并安装模块和守护程序。
sudo make && sudo make install
5 启动netatop服务。
sudo systemctl start netatop
sudo systemctl enable netatop