Atop 进程级性能监控教程

Atop 是一款功能强大的 Linux 性能监控工具,它不仅像 top 一样显示实时的进程信息,还能记录所有进程的资源使用历史数据。Atop 最大的亮点在于它会自动记录已退出进程的资源消耗,并支持历史数据回放,让你能够追溯分析过去某个时间点的系统状态。在搬瓦工 VPS 上配置 Atop,可以精确定位性能瓶颈的根因。

一、安装与配置

# Ubuntu / Debian
apt update
apt install atop -y

# CentOS / RHEL
yum install atop -y

# 启动 atop 守护进程(后台数据采集)
systemctl enable atop
systemctl start atop

# 验证服务状态
systemctl status atop

1.1 配置采集间隔

# 编辑配置文件
vi /etc/default/atop

# 设置采集间隔为 30 秒(默认 600 秒)
LOGINTERVAL=30

# 数据保留天数
LOGGENERATIONS=28

# 重启生效
systemctl restart atop

二、实时监控

# 启动实时监控(默认每 10 秒刷新)
atop

# 指定刷新间隔(每 5 秒)
atop 5

# 直接以特定视图启动
atop -m    # 内存视图
atop -d    # 磁盘视图
atop -n    # 网络视图

2.1 交互快捷键

在 atop 运行时按以下键切换视图:

  • g:通用视图(默认,显示 CPU 和内存)
  • m:内存详情视图
  • d:磁盘 I/O 视图
  • n:网络视图
  • v:进程详细信息
  • c:显示完整命令行
  • P:按 CPU 使用率排序
  • M:按内存使用排序
  • D:按磁盘 I/O 排序
  • N:按网络流量排序
  • A:自动排序(按最紧张的资源排序)
  • 1:显示每个 CPU 核心的使用情况

三、系统概览区域

Atop 顶部显示系统级的资源概览:

# CPU 行
# sys: 内核态  user: 用户态  irq: 中断  idle: 空闲  wait: I/O 等待  steal: 被偷取

# MEM 行
# tot: 总内存  free: 空闲  cache: 缓存  buff: 缓冲  slab: 内核对象缓存

# SWP 行
# tot: 总 Swap  free: 空闲 Swap  swout: 换出速度  swin: 换入速度

# DSK 行
# sda/vda: 设备名  busy: 忙碌百分比  read: 读速度  write: 写速度

# NET 行
# 各网络接口的收发包数和流量

四、历史数据回放

这是 Atop 最强大的功能 -- 查看过去的系统状态:

# 查看今天的历史数据
atop -r /var/log/atop/atop_$(date +%Y%m%d)

# 查看昨天的数据
atop -r /var/log/atop/atop_$(date -d yesterday +%Y%m%d)

# 查看特定日期的数据
atop -r /var/log/atop/atop_20260315

# 从指定时间开始查看
atop -r /var/log/atop/atop_20260315 -b 14:00

# 查看指定时间范围
atop -r /var/log/atop/atop_20260315 -b 09:00 -e 17:00

4.1 历史回放中的导航

  • t:前进到下一个采样时间点
  • T:后退到上一个采样时间点
  • b:跳转到指定时间

五、高级过滤

# 只显示特定用户的进程
# 在交互模式中按 'U' 然后输入用户名

# 只显示特定进程名
# 在交互模式中按 'I' 然后输入进程名

# 只显示活跃进程(消耗资源的进程)
# 默认已过滤,按 'a' 切换显示所有/活跃进程

六、批量模式与数据导出

# 批量模式输出(适合脚本处理)
atop -P CPU 2 5

# 导出 CPU 数据
atop -r /var/log/atop/atop_$(date +%Y%m%d) -P CPU > cpu_report.txt

# 导出内存数据
atop -r /var/log/atop/atop_$(date +%Y%m%d) -P MEM > mem_report.txt

# 导出所有进程的 CPU 使用
atop -r /var/log/atop/atop_$(date +%Y%m%d) -P PRC > process_cpu.txt

# 导出磁盘统计
atop -r /var/log/atop/atop_$(date +%Y%m%d) -P DSK > disk_report.txt

# 使用 atopsar 生成类似 SAR 的报告
atopsar -c -r /var/log/atop/atop_$(date +%Y%m%d)    # CPU
atopsar -m -r /var/log/atop/atop_$(date +%Y%m%d)    # 内存
atopsar -d -r /var/log/atop/atop_$(date +%Y%m%d)    # 磁盘

七、实用技巧

7.1 查找已退出的进程

Atop 会记录在采样间隔内退出的进程,这对于排查短命但资源密集的进程非常有用:

# 在历史回放中,已退出的进程会标记为 <E>
# 使用 P 按 CPU 排序可以发现消耗大量 CPU 后退出的进程

7.2 发现资源异常

# Atop 会用红色高亮标记异常的资源使用
# 红色 CPU 行:CPU 利用率过高
# 红色 MEM 行:内存使用过高
# 红色 DSK 行:磁盘忙碌度过高
# 红色 NET 行:网络利用率过高

7.3 控制日志大小

# 查看 atop 日志占用
du -sh /var/log/atop/

# 清理旧日志
find /var/log/atop -name "atop_*" -mtime +14 -delete

# 调整保留天数
vi /etc/default/atop
# LOGGENERATIONS=14

八、Atop 与 top/htop 对比

  • 历史回放:Atop 支持历史数据回放,top/htop 只能实时查看。
  • 已退出进程:Atop 记录已退出进程的资源消耗,top/htop 无法看到。
  • 磁盘/网络:Atop 同时显示进程级的磁盘 I/O 和网络流量。
  • 资源占用:Atop 守护进程本身占用较少资源,适合长期运行。

总结

Atop 是 Linux 系统中最全面的进程级性能监控工具。它的历史回放功能使其在排查间歇性性能问题时特别有用。在搬瓦工 VPS 上部署 Atop 守护进程,可以帮你回溯分析任何时间点的系统状态。建议搭配 Glances 系统监控NetHogs 网络监控 一起使用。选购搬瓦工 VPS 请参考全部方案,使用优惠码 NODESEEK2026 可享受 6.77% 循环折扣。

关于本站

搬瓦工VPS中文网(bwgvps.com)是非官方中文信息站,整理搬瓦工的方案、优惠和教程。我们不销售主机,不提供技术服务。

新手必读
搬瓦工优惠码

NODESEEK2026(优惠 6.77%)

购买时填入即可抵扣。