atop 是一个功能强大的 Linux 系统监控工具,与 top 类似,但它的核心优势在于可以记录历史数据,方便你事后进行问题排查。




? 什么是 atop?


简单来说,atop 是一个可以让你“回溯”过去系统状态的工具。


核心功能:它可以作为后台服务运行,按固定频率(如每10分钟)自动记录系统活动快照,并保存为日志文件。
主要优势
历史回放:你可以像查看实时监控一样,回放过去某个时间点的系统状态,进行故障排查。
信息丰富:不仅提供系统整体的CPU、内存、磁盘和网络使用情况-,还能深入到每个进程的资源消耗细节。
自动化管理:atop服务会自动清理过期的日志文件,无需手动维护。


? 如何在 Ubuntu 上安装 atop?


在 Ubuntu 上安装非常简单,使用 apt 包管理器即可:


sudo apt update
sudo apt install atop -y

安装完成后,atop 服务通常会自动启动,并开始记录数据。


⚙️ 如何配置 atop?


atop 的配置文件位置和参数,在不同 Linux 发行版中略有不同。


对于 Ubuntu,你需要编辑以下文件:


sudo vim /usr/share/atop/atop.daily

在文件中,你可以找到并修改以下两个关键参数:


LOGINTERVAL:监控采样间隔(单位:秒)。



  • 默认值通常是 600 (10分钟)。

  • 可以根据需要修改,例如改为 60 (1分钟) 以获取更精细的数据。
    LOGGENERATIONS:历史日志保留天数。

  • 默认值通常是 28 (天)。

  • 建议根据磁盘空间调整,例如改为 7 (天)。


修改完成后,保存文件并重启 atop 服务使配置生效:


sudo systemctl restart atop

? 如何使用 atop?


1. 实时监控


在终端直接输入 atop 即可进入实时监控界面:


atop

你也可以指定刷新间隔和次数:



  • atop 5:每5秒刷新一次。

  • atop 10 30:每10秒刷新一次,共采集30次。


2. 查看历史日志


历史日志文件通常保存在 /var/log/atop/ 目录下,文件名格式为 `atop_YYYYMMDD。


查看当天的日志


  atop -r

查看指定日期的日志


  atop -r /var/log/atop/atop_20260817

加载日志后,界面会显示该日志文件第一个时间点的快照。


3. 在 atop 界面中导航


进入 atop 界面(无论是实时还是历史回放)后,可以使用以下快捷键:


时间导航(历史回放模式)
t:跳到下一个采样点。
T:回到上一个采样点。
b:输入具体时间(如 14:30),直接跳转到该时间点。
视图切换与排序
g通用视图(默认),综合显示各资源概览。
m / M内存视图 / 按内存使用率排序,用于排查内存问题。
d / D磁盘视图 / 按磁盘I/O排序,定位磁盘读写高的进程。
c:按 CPU 使用率排序。
a聚合视图,将同一程序的所有线程/进程资源合并显示。
h:显示帮助菜单,查看更多快捷键。
q:退出 atop


? 使用场景与技巧




  1. 事后故障排查:服务器在 14:30 左右出现卡顿,你可以通过 atop -r 加载当天的日志,按 b 键跳转到 14:30,然后按 mdc 等快捷键查看当时是哪个进程消耗了过多内存、磁盘I/O或CPU。




  2. 分析特定时间段:使用 -b-e 参数,可以只分析日志中特定时间段的数据。


    # 查看8月17日 14:00 到 14:30 的数据
    atop -r /var/log/atop/atop_20260817 -b 1400 -e 1430



  3. 查看特定资源:你可以在启动时直接指定视图,例如用 atop -m 直接进入内存监控视图。




  4. 网络监控atop 默认不支持网络监控,如需此功能,需额外安装 netatop 内核模块。




  5. 配置文件:/lib/systemd/system/atop.service