Linux
在 Linux 环境下 top 命令都不陌生,它以实时动态的方式查看系统的整体运行情况,综合了多方信息监测系统性能和运行信息的实用工具,通过 top 命令所提供的互动式界面,可以用热键来进行管理。
在介绍 top 命令的替代工具时,先来回顾下 top 的基本语法、常用选项、交互时的热键以及实例解释,从而加深对 top 的理解,同时也希望能进一步的运用在实际场景中。

一、top

1.1 top 语法

  1. top (选项)

1.2 top 选项

  • -b:以批处理模式操作;
  • -c:显示完整的治命令;
  • -d:屏幕刷新间隔时间;
  • -I:忽略失效过程;
  • -s:保密模式;
  • -S:累积模式;
  • -i<时间>:设置间隔时间;
  • -u<用户名>:指定用户名;
  • -p<进程号>:指定进程;
  • -n<次数>:循环显示的次数;

    1.3 top 交互时的热键

  • h:显示帮助信息并给出简短的命令总结说明提示;

  • k:终止一个进程;
  • i:忽略闲置和僵死的进程;
  • q:退出 top;
  • r:重新安排一个进程的优先级别;
  • S:切换到累计模式;
  • s:改变两次刷新之间的延迟时间(单位为s),如果有小数,就换算成ms。输入0值则系统将不断刷新,默认值为:5s;
  • f 或者 F:从当前显示中添加或者删除;
  • o 或者 O:改变显示的顺序;
  • l:切换显示平均负载和启动时间信息;
  • m:切换显示内存信息;
  • t:切换显示进程和 CPU 状态信息;
  • c:切换显示命令名称和完整命令行;
  • M:根据驻留内存大小进行排序;
  • P:根据 CPU 使用百分比大小进行排序;
  • T:根据时间或累计时间进行排序;
  • w:将当前设置写入 ~/.toprc 文件中; ```bash top
  • 09:48:47 up 1 day, 10:54, 2 users, load average: 0.00, 0.02, 0.00 任务: 293 total, 2 running, 291 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.0 us, 0.2 sy, 0.0 ni, 99.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st MiB Mem : 1945.1 total, 160.5 free, 849.7 used, 934.9 buff/cache MiB Swap: 923.2 total, 921.4 free, 1.8 used. 904.4 avail Mem

PID USER PR NI VIRT RES SHR %CPU %MEM TIME+ COMMAND 6775 root 20 0 21752 4280 3424 R 0.3 0.2 0:05.58 top

  1. <a name="yfkts"></a>
  2. ### 1.4 top 实例解释
  3. <a name="jnJcY"></a>
  4. #### 第一行:任务队列信息
  5. - top - 09:48:47:显示当前系统时间
  6. - 1 day:系统已经运行了 1 天
  7. - 2 users:2 个用户当前登录
  8. - load average: 0.00, 0.02, 0.00:系统负载,即任务队列的平均长度。三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。
  9. <a name="nvhnK"></a>
  10. #### 第二行:进程信息
  11. - Tasks: 293 total:总进程数
  12. - 2 running:正在运行的进程数
  13. - 291 sleeping:睡眠的进程数
  14. - 0 stopped:停止的进程数
  15. - 0 zombie:僵尸进程数
  16. <a name="fN4TK"></a>
  17. #### 第三行:CPU 信息
  18. - %Cpu(s): 0.0 us:用户空间占用 CPU 的百分比
  19. - 0.2 sy:内核空间占用 CPU 的百分比
  20. - 0.0 ni:用户进程空间内改变过优先级的进程占用 CPU 的百分比
  21. - 99.8 id:空闲 CPU 的百分比
  22. - 0.0 wa:等待输入输出 CPU 的时间百分比
  23. - 0.0 hi:硬中断占用 CPU 的百分比
  24. - 0.0 si:软中断占用 CPU 的百分比
  25. - 0.0 st:用于有虚拟 CPU 的情况,用来指示被虚拟机偷掉的 CPU 时间
  26. <a name="XgsdN"></a>
  27. #### 第四 / 五行:内存信息
  28. - MiB Mem : 1945.1 total:物理内存总量
  29. - 160.5 free:空闲内存总量
  30. - 849.7 used:使用的物理内存总量
  31. - 934.9 buff/cache:用于内核缓存的内存量
  32. - MiB Swap: 923.2 total:交换区总量
  33. - 921.4 free:空闲交换区总量
  34. - 1.8 used:使用的交换区总量
  35. - 904.4 avail Mem:可用于进程下一次分配的物理内存数量
  36. <a name="qYsXQ"></a>
  37. #### 第六行:进程详细信息
  38. - PID:进程 PID 号
  39. - USER:用户
  40. - PR:优先级
  41. - NI:nice值,负值表示高优先级,正值表示低优先级
  42. - VIRT:进程使用的虚拟内存总量,单位为 KB
  43. - RES:进程使用的、未被换出的物理内存大小,单位为 KB
  44. - SHR:共享内存大小,单位为 KB
  45. - %CPU:上次更新到现在的CPU时间占用百分比
  46. - %MEM:进程使用的物理内存百分比
  47. - TIME+:进程使用的 CPU 时间总计,单位 1/100秒
  48. - COMMAND:命令名 / 命令行
  49. 以上就是针对 top 命令的回顾。进程详细信息里还有很多信息,就不一一介绍了,在日常学习和工作中有需要用到的解释说明,可参阅相关资料进行了解。<br />不过 top 已经满足在学习以及工作中排查相关问题的基本条件了。接下来介绍一些针对 top 命令的替代工具。
  50. <a name="qVf9Z"></a>
  51. ## 二、bashtop
  52. [bashtop](https://github.com/aristocratos/bashtop)基于 Shell 语言编写,是用于展示当前 Linux 操作系统的处理器、内存、硬盘、网络和进程等各项资源的使用情况与状态,可在 Fedora、CentOS 8、RHEL 8、Ubuntu、Debian、FreeBSD、OSX 等多种操作系统中安装。
  53. <a name="Ph3vC"></a>
  54. ### 2.1 bashtop 的特征
  55. - 易使用,具有游戏灵感的菜单系统;
  56. - 快速且“大部分”响应式 UI,带有 UP、DOWN 键进程选择;
  57. - 显示所选进程的详细统计信息的功能;
  58. - 显示当前磁盘的读写速度;
  59. - 过滤流程的能力;
  60. - 在排序选项之间轻松切换;
  61. - 向选定的进程发送 SIGTERM、SIGKILL、SIGINT;
  62. - 可更改所有配置文件选项的 UI 菜单;
  63. - 网络使用情况的自动缩放图;
  64. - 如有新版本可用,则在菜单中进行显示;
  65. - Linux 环境下可切换的多种数据采集方式;
  66. <a name="XkhlM"></a>
  67. ### 2.2 bashtop 的安装
  68. <a name="AH4OV"></a>
  69. #### CentOS 8 安装:
  70. ```bash
  71. # dnf config-manager --set-enabled PowerTools
  72. # dnf install epel-release
  73. # dnf install bashtop

RHEL 8 安装:

  1. ARCH= $( /bin/arch )
  2. subscription-manager repos --enable " codeready-builder-for-rhel-8- ${ARCH} -rpms "
  3. dnf install epel-release
  4. dnf install bashtop

Ubuntu 安装:

  1. # sudo add-apt-repository ppa:bashtop-monitor/bashtop
  2. # sudo apt update
  3. # sudo apt install bashtop

安装非常简单,这里用的是 Ubuntu,所以用 apt install 直接安装即可,如果用的是其他操作系统,可参考:https://github.com/aristocratos/bashtop#installation 章节进行安装。

2.3 bashtop 的使用

安装完毕后,直接执行命令bashtop即可。

  1. # bashtop

18 款可替代 top 命令的工具 - 图1

三、bpytop

bpytop是 bashtop 的延续,基于 Python 语言编写,主要用于展示当前 Linux 操作系统的处理器、内存、磁盘、网络和进程的使用情况和统计信息的资源监视器,可在 Mac OSX、Arch Linux、Debian、FreeBSD、Fedora、CentOS 8、Ubuntu 等多种操作系统中安装。

3.1 bpytop 的特征

  • 易使用且具有游戏灵感的菜单系统;
  • 完全支持鼠标,所有带有突出显示键的按钮都是可点击的,并且鼠标滚动可以在进程列表和菜单框中工作;
  • 快速且响应迅速的 UI,带有 UP、DOWN 键进程选择;
  • 显示所选进程的详细统计信息的功能;
  • 能够过滤进程,可以输入多个过滤器;
  • 在排序选项之间轻松切换;
  • 向选定的进程发送 SIGTERM、SIGKILL、SIGINT;
  • 用于更改所有配置文件选项的 UI 菜单;
  • 网络使用情况的自动缩放图;
  • 如有新版本可用,则在菜单中显示消息;
  • 显示当前磁盘的读写速度;

    3.2 bpytop 的安装

    Mac OSX 安装:

    1. # brew install bpytop

    Fedora / CentOS 8 安装:

    1. # sudo dnf install bpytop

    Debian / Ubuntu 安装:

    1. # sudo apt install bpytop
    安装非常简单,这里用的是 Ubuntu,所以用 apt install 直接安装即可,如果用的是其他操作系统,可参考:https://github.com/aristocratos/bpytop#installation 章节进行安装。

    3.3 bpytop 的使用

    安装完毕后,直接执行命令bpytop即可。
    1. $ bpytop
    18 款可替代 top 命令的工具 - 图2
    更多 bpytop 命令行选项 ```bash usage: bpytop [-h] [-b BOXES] [-lc] [-v] [—debug]

optional arguments: -h, —help show this help message and exit -b BOXES, —boxes BOXES which boxes to show at start, example: -b “cpu mem net proc” -lc, —low-color disable truecolor, converts 24-bit colors to 256-color -v, —version show version info and exit —debug start with loglevel set to DEBUG overriding value set in config

  1. <a name="iPAdJ"></a>
  2. ## 四、btop
  3. [btop](https://github.com/aristocratos/btop)基于 C++ 语言编写,主要用于展示当前 Linux 操作系统的处理器、内存、磁盘、网络和进程的使用情况和统计信息的资源监视器。
  4. <a name="rHZTR"></a>
  5. ### 4.1 btop 的特征
  6. - 易使用,具有游戏灵感的菜单系统;
  7. - 支持鼠标所有带有突出显示键的按钮都是可点击的,并且鼠标滚动在进程列表和菜单框中工作;
  8. - 快速且响应迅速的 UI,带有 UP、DOWN 键进程选择;
  9. - 显示所选进程的详细统计信息的功能;
  10. - 过滤流程的能力;
  11. - 在排序选项之间轻松切换;
  12. - 进程的树视图;
  13. - 向选定的进程发送任何信号;
  14. - 用于更改所有配置文件选项的 UI 菜单;
  15. - 网络使用情况的自动缩放图;
  16. - 显示磁盘的 IO 活动和速度;
  17. - 电池电量计;
  18. - 图表的可选符号;
  19. <a name="kQrPd"></a>
  20. ### 4.2 btop 的安装
  21. ```bash
  22. # snap install btop

安装非常简单,这里用的是 Ubuntu,所以用 snap install 直接安装即可,如果用的是其他操作系统或通过其他方式进行安装,可参考:https://github.com/aristocratos/btop#installation 章节进行安装。

4.3 btop 的使用

安装完毕后,直接执行命令btop即可。

  1. # btop

18 款可替代 top 命令的工具 - 图3
更多 bpytop 命令行选项

  1. usage: btop [-h] [-v] [-/+t] [-p <id>] [--utf-force] [--debug]
  2. optional arguments:
  3. -h, --help show this help message and exit
  4. -v, --version show version info and exit
  5. -lc, --low-color disable truecolor, converts 24-bit colors to 256-color
  6. -t, --tty_on force (ON) tty mode, max 16 colors and tty friendly graph symbols
  7. +t, --tty_off force (OFF) tty mode
  8. -p, --preset <id> start with preset, integer value between 0-9
  9. --utf-force force start even if no UTF-8 locale was detected
  10. --debug start in DEBUG mode: shows microsecond timer for information collect
  11. and screen draw functions and sets loglevel to DEBUG

以上三款开源 top 替代工具可以说是 Jakob P. Liljenberg 的三剑客。

五、bottom

bottom是用于终端的可定制跨平台图形进程 / 系统监视器,支持 Linux、macOS 和 Windows。

5.1 bottom 的特征

  • 随着时间变化的 CPU 使用率、平均水平和每个核心水平;
  • 随着时间变化的 RAM 和交换使用情况;
  • 一段时间内的网络 I/O 使用情况;
  • 支持放大或缩小显示的当前时间间隔;
  • 支持显示磁盘容量、使用情况、温度传感器、电池使用情况的信息;
  • 支持显示、排序、搜索有关流程信息的小部件(CPU、内存、网络、进程、磁盘、温度、电池);
  • 支持使用命令行标志或配置文件控制的可定制行为(自定义和预建的颜色主题、更改某些小部件的默认行为、更改小部件的布局、过滤掉磁盘和温度小部件中的条目);
  • 支持键、鼠标绑定相关快捷键;

    5.2 bottom 的安装

    可以在 Arch Linux、Debian/Ubuntu、Fedora/CentOS 多种平台或以多种方式都可进行安装。

    1. # curl -LO https://github.com/ClementTsang/bottom/releases/download/0.6.6/bottom_0.6.6_amd64.deb
    2. # sudo dpkg -i bottom_0.6.6_amd64.deb

    5.3 bottom 的使用

    安装完毕后,执行命令btm即可

    1. # btm

    18 款可替代 top 命令的工具 - 图4

    六、glances

    Glances是基于 Python 语言编写的一款跨平台的监控工具,旨在通过 curses 或基于 Web 的界面呈现大量系统监控信息,该信息可根据用户界面的大小动态调整,是 GNU/Linux、BSD、Mac OS 和 Windows 操作系统的 top/htop 替代品。
    它可以在客户端/服务器模式下工作,远程监控可以通过终端、Web 界面或 API(XML-RPC 和 RESTful)完成,统计数据也可以导出到文件或外部时间/值数据库。
    除了列出所有进程及其 CPU 和内存使用情况之外,它还可以显示有关系统的其他信息,比如:

  • 网络及磁盘使用情况

  • 文件系统已使用的空间和总空间
  • 来自不同传感器(例如电池)的数据
  • 以及最近消耗过多资源的进程列表

    6.1 glances 的安装

    1. # apt install glances

    6.2 glances 的使用

    独立模式只需执行:

    1. # glances

    18 款可替代 top 命令的工具 - 图5
    Web 服务器模式可执行:

    1. # glances -w

    使用 Web 界面监控本地机器并启动 RESTful 服务器,从http://0.0.0.0:61208/开始浏览 Web 服务器。
    客户端 / 服务器模式可执行:

    1. # glances -s

    在服务器端并运行:

    1. # glances -c <ip_server>

    更多 glances 使用、可选参数选项以及使用案例可执行:glances -h查看相关帮助信息。

    七、gotop

    gotop是基于 Go 语言编写,是一个基于终端的图形活动监视器,可在 Linux、FreeBSD 和 macOS 上运行。

    7.1 gotop 的安装

    1. # snap install gotop

    7.2 gotop 的使用

    安装完毕后,执行命令gotop即可,更多热键可参考 GitHub 存储库的用法部分。
    18 款可替代 top 命令的工具 - 图6

    八、gtop

    gtop是基于 JavaScript 语言编写的一款终端系统监控仪表板。

    8.1 gtop 的安装

    1. # apt install npm
    2. # npm install gtop -g

    8.2 gtop 的使用

    安装完毕后,执行命令gtop即可,要停止 gtop 可使用q键或者Ctrl+c

    1. # gtop

    18 款可替代 top 命令的工具 - 图7

    九、htop

    htop可以说是 top 的绝佳替代品,它是用 C 写的,是一个跨平台的交互式的进程监控工具,具有更好的视觉效果,一目了然更容易理解当前系统的状况,允许垂直和水平滚动进程列表以查看它们的完整命令行和相关信息,如内存和 CPU 消耗。还显示了系统范围的信息,例如平均负载或交换使用情况。
    显示的信息可通过图形设置进行配置,并且可以交互排序和过滤,与进程相关的任务(例如终止和重新处理)可以在不输入其 PID 的情况下进行完成。
    安装也很简单,只需执行命令:apt install htop即可完成。
    18 款可替代 top 命令的工具 - 图8

    十、nvtop

    Nvtop:NVidia TOP,一个用于 NVIDIA GPU 的 (h)top 类似任务监视器,它可以处理多个 GPU 并以 htop 熟悉的方式打印有关它们的信息。

    Ubuntu disco (19.04) / Debian buster (stable)

    1. # sudo apt install nvtop

    18 款可替代 top 命令的工具 - 图9
    更多 nvtop 命令行选项

    1. # nvtop -h
    2. nvtop version 1.1.0
    3. Available options:
    4. -d --delay : Select the refresh rate (1 == 0.1s)
    5. -v --version : Print the version and exit
    6. -s --gpu-select : Colon separated list of GPU IDs to monitor
    7. -i --gpu-ignore : Colon separated list of GPU IDs to ignore
    8. -p --no-plot : Disable bar plot
    9. -r --reverse-abs : Reverse abscissa: plot the recent data left and older on the right
    10. -C --no-color : No colors
    11. -N --no-cache : Always query the system for user names and command line information
    12. -f --freedom-unit : Use fahrenheit
    13. -E --encode-hide : Set encode/decode auto hide time in seconds (default 30s, negative = always on screen)
    14. -h --help : Print help and exit

    十一、vtop

    vtop是一款命令行的图形活动监视器,它是使用 drawille 绘制带有 Unicode 盲文字符的 CPU 和内存图表,通过可视化的方式进行展示,还将具有相同名称的进程分组在一起,安装也很简单,只需执行命令npm install -g vtop即可完成。
    运行只需执行命令vtop即可。
    18 款可替代 top 命令的工具 - 图10

  • dd:杀死该组中的所有进程

  • 按向下箭头或j键向下移动
  • 按向上箭头或k键向上移动进程列表
  • g键转到进程列表的顶部
  • G键移动到列表的末尾
  • c键可按 CPU 进行排序
  • m键可按内存进行排序

    十二、zenith

    zenith是基于 Rust 语言编写的一款具有可缩放的图表、CPU、GPU、网络和磁盘使用的终端图形。

    12.1 zenith 的特征

  • 可选的 CPU、内存、网络和磁盘使用情况图表

  • 支持浏览磁盘可用空间、NIC IP 地址、CPU 频率
  • 支持显示 CPU、内存和磁盘的用户
  • 电池百分比、充电或放电时间、已用电量
  • 类似于 top 的可过滤进程表,包括每个进程的磁盘使用情况
  • 更改流程优先级
  • 可缩放图表视图(支持及时回滚)
  • 使用信号管理流程
  • 运行之间保存的性能数据
  • NVIDIA GPU 的 GPU 利用率指标(带有—features nvidia),包括每个进程的 GPU 使用率
  • 磁盘可用空间图表

    12.2 zenith 的安装

    zenith 通过 deb 软件包安装的,不过最新的 64 位 deb 软件包需要基于 Debian >= 9 或 Ubuntu >= 16.04 的发行版才可安装。
    1. # curl -LO https://github.com/bvaisvil/zenith/releases/download/0.12.0/zenith_0.12.0-1_amd64.deb
    2. # dpkg -i zenith_0.12.0-1_amd64.deb

    12.3 zenith 的使用

    安装 zenith 完毕后,不带任何参数运行 zenith 将以 CPU、磁盘和网络的默认可视化和 2000 毫秒(2 秒)的刷新率启动。
    1. # zenith
    18 款可替代 top 命令的工具 - 图11
    更多 zenith 命令行选项 ```bash Usage: zenith [OPTIONS]

Optional arguments: —disable-history Disables history when flag is present (default: false) -h, —help -V, —version -c, —cpu-height INT Min Percent Height of CPU/Memory visualization. (default: 17) —db STRING Database to use, if any. -d, —disk-height INT Min Percent Height of Disk visualization. (default: 17) -n, —net-height INT Min Percent Height of Network visualization. (default: 17) -p, —process-height INT Min Percent Height of Process Table. (default: 32) -r, —refresh-rate INT Refresh rate in milliseconds. (default: 2000) -g, —graphics-height INT Min Percent Height of Graphics Card visualization. (default: 17)

  1. <a name="pe7px"></a>
  2. ## 十三、atop
  3. [atop](https://www.atoptool.nl/index.php)是基于 C 语言编写的一款适用于 Linux 操作系统的 ASCII 全屏性能监视器,它可以将所有的进程(即使进程在间隔期间已完成的),系统和进程活动的每日日志记录以进行长期分析,通过突出显示过载的系统资源使用颜色等。<br />同时,它还会定期显示与 CPU、内存、交换、磁盘(包括 LVM)和网络层相关的系统级活动,并且对于每个进程和线程,例如:CPU 利用率、内存增长、磁盘利用率、优先级、用户名、状态和退出代码。<br />除此之外,atop 还可结合内核模块 netatop,可显示每个进程和线程的网络活动。<br />安装 atop:
  4. ```bash
  5. # apt install atop

下载 netatop 源码包并解压,需要以 root 身份进行执行以下步骤安装 netatop 内核模块和 netatopd 守护程序。

  1. # curl -LO https://www.atoptool.nl/download/netatop-3.1.tar.gz
  2. # tar -zxf netatop-3.1.tar.gz
  3. # apt install zlib1g-dev
  4. # cd netatop-3.1
  5. # make
  6. # make install

加载模块并启动守护进程:

  1. # systemctl start netatop

加载模块并在启动后自动启动守护进程:

  1. # systemctl enable netatop

18 款可替代 top 命令的工具 - 图12

十四、ctop

ctop是基于 Go 语言编写的一款为提供对多个容器的实时指标的展示,使用 ctop 可以快速查看容器 CPU、Memory、Network、IO 等指标的实时情况。

  1. # sudo wget https://github.com/bcicen/ctop/releases/download/0.7.6/ctop-0.7.6-linux-amd64 -O /usr/local/bin/ctop
  2. # sudo chmod +x /usr/local/bin/ctop

安装完毕后,若执行ctop命令提示弹窗dial unix /var/run/docker.sock报错的话,原因是没有这个 docker 文件,则需要使用官方安装脚本自动安装,可执行:curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun来进行安装 docker,安装完 docker 后,可以在 /var/run/ 目录下检查下 docker.sock 文件是否已经存在,则可以执行 ctop。

ctop 参数选项

  • -a:只显示活动的容器
  • -f:设置初始过滤字符串
  • -h:显示帮助对话框
  • -i:反转默认颜色
  • -r:反向容器排序顺序
  • -s:选择容器排序字段
  • -v:输出版本信息并退出

18 款可替代 top 命令的工具 - 图13

十五、iftop

iftop是对网络使用的作用与 top 对 CPU 使用的作用相同,它可以侦听命名接口上的网络流量,并按主机对显示当前带宽使用情况表。

  1. # apt install iftop

iftop 参数选项

  • -h:显示帮助信息
  • -n:不做主机名查询
  • -N:不将端口号转换为服务
  • -p:在复杂模式下运行(显示同一网段的其他主机之间的流量)
  • -b:不显示条形图
  • -B:以字节为单位显示带宽
  • -i interface:指定监听接口
  • -f filter code:使用过滤码选择要计数的数据包(默认不计算,但只计算 IP 报文)
  • -F net/mask:显示输入 / 输出 IPv4 网络流量
  • -G net6/mask6:显示输入 / 输出 IPv6 网络流量
  • -l:display 和 count link-local IPv6 流量(默认为:off)
  • -P:显示端口和主机
  • -m limit:设置带宽上限
  • -c config file:指定一个替代的配置文件
  • -t:使用不带 ncurses 的文本接口

18 款可替代 top 命令的工具 - 图14

十六、iotop

iotop是可以识别在机器上使用大量输入 / 输出请求的进程,类似于 top 的实用程序,但不是显示最消耗 CPU 的内容信息,而是按进程的 IO 使用情况列出相关进程。
受到 Guillaume Chazarain 的 iotop Python 脚本的启发,由 Vyacheslav Trushkin 用 C 重写并由 Boian Bonev 改进,完全无需 Python 即可运行。
iotop 可以在 Debian、Ubuntu、Fedora、CentOS 7/8、RHEL 7/8、其他 Linux 发行版的操作系统上运行。

  1. # apt install iotop

iotop 参数选项

  • —version:显示程序的版本号并退出
  • -h, —help:显示帮助信息并退出
  • -o, —only:仅显示实际执行 I/O 操作的进程或线程
  • -b, —batch:非交互式模式
  • -n NUM, —iter=NUM:结束前的迭代次数 [无限]
  • -d SEC, —delay=SEC:迭代间隔时间 [1秒]
  • -p PID, —pid=PID:监视的进程 / 线程 [全部]
  • -u USER, —user=USER:监控的用户 [全部]
  • -P, —processes:只显示进程,而不是所有线程
  • -a, —accumulated:显示累计 I/O,而不是带宽
  • -k, —kilobytes:使用千字节为单位
  • -t, —time:在每行上添加一个时间戳
  • -q, —quiet:禁止一些标题行
  • —no-help:禁止列出快捷方式

    iotop 热键

  • any:任何其他键强制刷新

  • q:退出
  • i:改变 I/O 优先级
  • o:仅显示活跃的进程
  • r:反转排序顺序
  • 方向左右键:改变排序列

18 款可替代 top 命令的工具 - 图15

十七、nmon

nmon是用于 AIX 和 Linux 操作系统的计算机性能系统监控工具,以交互的方式精简格式在终端上每两秒更新一次的频率显示本地系统统计信息(CPU、内存、网络、磁盘、文件系统、NFS、进程、资源等),以记录方式将统计数据保存到逗号分隔的 (CSV) 数据文件中,以供绘图和分析帮助理解计算机资源使用、调整选项以及相关瓶颈。
如果您在运行 nmon 时指定-F-f-X-x-Z参数选项中的任何一个,则 nmon 将处于记录模式,若不添加任何参数选项 nmon 将处于交互模式。
18 款可替代 top 命令的工具 - 图16

  1. # apt install nmon

18 款可替代 top 命令的工具 - 图17
更多帮助信息可执行nmon -h查看 nmon 的帮助手册。

十八、slabtop

slabtop是以实时的方式显示内核“slab”缓冲区的细节信息。

用法:

  1. slabtop [选项]

选项: