atop 是一个高级的系统监控工具,类似于 top,但功能更为强大。它不仅能监控 CPU、内存、磁盘、网络等的使用情况,还能保存历史记录以便以后查看。它对性能瓶颈的分析尤其有用。

  1. 安装 atop
    不同的 Linux 发行版有不同的安装方式。
    在 Ubuntu/Debian 系统上:
    bash复制代码sudo apt install atop
    在 CentOS/RedHat 系统上:
    bash复制代码sudo yum install atop
    在 Fedora 系统上:
    bash复制代码sudo dnf install atop
    在 Arch Linux 系统上:
    bash复制代码sudo pacman -S atop
  2. 启动 atop
    启动 atop 很简单,只需运行:
    bash复制代码sudo atop
    atop 会实时显示系统各项资源的使用情况,并每 10 秒刷新一次(默认刷新间隔)。可以通过命令行参数来定制其行为。
  3. atop 显示的信息
    顶部的全局信息:
  • PRC:显示系统上的进程信息,包括每秒创建的进程和上下文切换数量。
  • CPU:显示 CPU 使用情况。分为用户空间、系统空间、硬件中断和软件中断的 CPU 占用。
  • CPL:显示系统的负载(即 CPU 队列长度),包括 1、5 和 15 分钟的平均负载。
  • MEM:显示内存的总体使用情况,包括总内存、已使用内存、缓存、和交换区的使用情况。
  • SWP:显示交换分区(Swap)信息。
  • DSK:显示磁盘的 IO 信息,包括每秒读写的块数。
  • NET:显示网络的发送和接收数据。
    每个进程的信息:
  • PID:进程的 ID。
  • THR:进程的线程数。
  • SYSCPU:进程使用的系统 CPU 时间。
  • USRCUP:进程使用的用户 CPU 时间。
  • VSS:虚拟内存使用量。
  • RSS:实际使用的物理内存。
  • RDDSK:进程从磁盘读取的字节数。
  • WRDSK:进程写入磁盘的字节数。
  • NET:进程的网络活动,包括每秒发送和接收的字节数。
  • ST:系统状态,D 代表不可中断睡眠,R 代表运行中,S 代表休眠,Z 代表僵尸进程。
  1. 常用参数
  • -r
    :以原始模式查看历史数据。
    bash复制代码sudo atop -r /var/log/atop/atop_YYYYMMDD
  • -w
    :将系统状态写入日志文件,默认保存到 /var/log/atop/。
    bash复制代码sudo atop -w /var/log/atop/atop.log 10
    这会每 10 秒记录一次系统状态。
  • -d
    :显示磁盘统计信息。
    bash复制代码sudo atop -d
  • -m
    :显示内存统计信息。
    bash复制代码sudo atop -m
  • -n
    :显示网络统计信息。
    bash复制代码sudo atop -n
  • -s
    :显示交换分区的使用情况。
    bash复制代码sudo atop -s
  • -u
    :显示用户 CPU 使用信息。
    bash复制代码sudo atop -u
  • -p
    :只显示指定进程的状态。
    bash复制代码sudo atop -p
  • -c
    :显示进程的命令行。
    bash复制代码sudo atop -c
  1. 在日志模式下查看历史数据
    如果 atop 被配置为记录日志,你可以通过以下命令查看历史数据:
    bash复制代码sudo atop -r /var/log/atop/atop_YYYYMMDD

  2. 交互命令
    当 atop 运行时,你可以按键切换不同的视图:

  • c:显示/隐藏命令行参数。
  • d:显示磁盘使用情况。
  • n:显示网络使用情况。
  • m:显示内存使用情况。
  • t:按 CPU 使用率排序进程。
  • u:按用户 CPU 使用率排序进程。
  • q:退出 atop。
  1. 结合 cron 自动记录
    你可以通过 cron 定期执行 atop 来保存系统性能的历史数据。编辑 crontab 文件:
    bash复制代码sudo crontab -e

添加一行:
bash复制代码*/10 * * * * /usr/bin/atop -a -w /var/log/atop/atop.log 600

这会每 10 分钟执行一次 atop,并保存系统状态到日志。
8. 总结
atop 是一个功能强大的性能监控工具,它不仅能够实时监控系统性能,还能保存数据以便日后分析。通过掌握其各种参数和交互命令,能够轻松地分析系统的性能瓶颈,尤其在 CPU、内存、磁盘 IO 和网络负载方面。