菜鸟科技网

进程命令动态查看有哪些实用技巧?

tophtop

对于动态查看进程,top 是最经典、最通用的命令,而 htop 是它的一个增强版,功能更强大、界面更友好。

进程命令动态查看有哪些实用技巧?-图1
(图片来源网络,侵删)

top - 经典的动态进程查看器

top 几乎在所有 Linux 发行版中都是预装的,是系统管理员最常用的工具之一。

基本用法

直接在终端输入 top 即可启动:

top

启动后,你会看到一个全屏的、不断刷新的界面,界面分为两部分:顶部的系统概览和下方的进程列表。

界面详解

顶部系统信息区:

进程命令动态查看有哪些实用技巧?-图2
(图片来源网络,侵删)
top - 15:30:00 up 10 days,  2:30,  2 users,  load average: 0.15, 0.20, 0.25
Tasks: 150 total,   1 running, 149 sleeping,   0 stopped,   0 zombie
%Cpu(s):  5.2 us,  1.1 sy,  0.0 ni, 93.5 id,  0.1 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  8169344 total,  3254320 used,  4915024 free,   142828 buffers
KiB Swap: 2097148 total,        0 used, 2097148 free,  2112368 cached
  • top - 15:30:00: 当前时间。
  • up 10 days, 2:30: 系统运行了多长时间。
  • load average: 0.15, 0.20, 0.25: 系统负载(1分钟、5分钟、15分钟内的平均进程数),这是衡量系统繁忙程度的关键指标,负载值不应超过 CPU 核心数。
  • Tasks: 150 total...: 进程总数及其状态(运行、睡眠、停止、僵尸)。
  • %Cpu(s): ...: CPU 占用情况。
    • us (user space) = 用户空间占用率。
    • sy (system) = 内核空间占用率。
    • ni (nice) = 优先级进程占用率。
    • id (idle) = 空闲率。
    • wa (I/O wait) = 等待 I/O 操作的 CPU 空闲率,如果这个值很高,说明系统在等待磁盘或网络。
  • KiB Mem : ...: 物理内存使用情况(总、已用、空闲、用作缓冲区)。
  • KiB Swap: ...: 交换分区(虚拟内存)使用情况。

下方进程列表区:

这是一个表格,默认按 %CPU 使用率降序排列,每一列代表一个进程的属性,最重要的列有:

  • PID: 进程 ID (Process ID)。
  • USER: 进程所有者。
  • %CPU: 进程占用 CPU 的百分比。
  • %MEM: 进程占用物理内存的百分比。
  • COMMAND: 启动进程的命令。

top 的常用交互命令

top 界面中,可以直接按键盘命令进行操作(不区分大小写):

命令 功能
q 退出 top (最常用)
M 内存占用率 (%MEM) 降序排序
P CPU 占用率 (%CPU) 降序排序 (默认排序)
T 累计 CPU 时间 降序排序
k 终止 (kill) 一个进程,按 k 后,会提示输入 PID,输入后按回车,再按回车确认。
r 重新设置一个进程的优先级 (renice),按 r 后,输入 PID,然后输入新的 nice 值 (-20 到 19)。
c 切换命令名和完整路径,按一次 c 显示完整路径,再按一次 c 回到只显示命令名。
1 切换 CPU 显示模式,在多核 CPU 系统下,按 1 可以分别显示每个核心的占用率。
s 修改刷新间隔,按 s 后输入秒数,5 表示每 5 秒刷新一次。
t 切换 CPU 占用率视图 (在百分比和纯数值间切换)。
m 切换内存占用视图 (在百分比和纯数值间切换)。

htop - 更强大的现代化进程查看器

htoptop 的一个超集,提供了更直观的彩色界面、更丰富的功能和更便捷的操作,如果你的系统没有安装,可以使用包管理器安装:

进程命令动态查看有哪些实用技巧?-图3
(图片来源网络,侵删)
  • Debian/Ubuntu: sudo apt install htop
  • CentOS/RHEL/Fedora: sudo yum install htopsudo dnf install htop
  • macOS (使用 Homebrew): brew install htop

基本用法

htop

htop 的优势

  1. 彩色界面:不同状态的进程用不同颜色区分,一目了然。
  2. 垂直和水平分割:可以同时查看多个系统视图(CPU 占用和内存占用并排显示)。
  3. 鼠标支持:可以直接用鼠标点击选择进程和执行操作(虽然熟练的键盘操作更快)。
  4. 更丰富的进程信息:可以轻松地看到线程、完整的命令行参数。
  5. 更友好的操作
    • F2s 可以打开设置菜单,自定义显示的列和排序方式。
    • F9 会弹出一个菜单,让你选择要发送给进程的信号(如 kill, SIGTERM, SIGKILL),比 topk 更直观。
    • t 可以切换进程树视图。

htop 的常用交互命令

命令 功能
F1 显示帮助界面
F2 / s 打开设置/首选项菜单
F3 / 搜索进程名
F4 过滤进程列表 (输入关键词后,列表会只显示包含该关键词的进程)
F5 切换进程树视图 (可以看到父子进程关系,非常强大)
F9 终止进程 (弹出信号选择菜单)
F10 / q 退出 htop
/ 在进程树视图中展开或折叠子进程
u 按用户过滤
H 切换显示/隐藏线程
d 暂停/恢复选中进程的刷新

其他动态查看工具

除了 tophtop,还有一些工具可以用来动态观察特定方面的系统行为。

glances - 超级系统监控工具

glances 是一个功能极其强大的跨平台监控工具,它整合了 top, htop, iotop, iftop, df, ps 等多个工具的功能。

安装: sudo apt install glances (Debian/Ubuntu)

基本用法:

glances

特点:

  • 界面简洁信息量巨大,同时显示 CPU、内存、磁盘、网络、文件系统、传感器温度等信息。
  • 支持多种模式,如 Web 模式 (glances -w)、日志模式等。
  • 提供警告和临界值的颜色提示。

iotop - 磁盘 I/O 监控

当你发现系统负载高,但 CPU 和内存占用都不高时,很可能是 I/O 瓶颈,这时 iotop 就派上用场了。

基本用法:

sudo iotop  # 需要 root 权限才能获取到所有进程的 I/O 信息

它会实时显示每个进程的磁盘读写速度。

iftop - 网络流量监控

如果你想查看哪个进程或哪个网络连接在占用大量带宽,可以使用 iftop

基本用法:

sudo iftop -i eth0  # 指定网卡,eth0

它会显示网络连接的实时流量,以及是哪个 IP 地址在通信。


总结与对比

工具 主要用途 优点 缺点
top 通用动态进程查看 预装几乎所有系统,轻量级,功能全面 界面古老,无鼠标支持,功能相对基础
htop 通用动态进程查看 界面直观,功能强大(进程树、信号选择),可定制 需要额外安装
glances 全能系统监控 信息密度极高,一站式查看所有资源 信息过多可能对新手造成干扰
iotop 磁盘 I/O 监控 精准定位高 I/O 进程 功能单一,只看 I/O
iftop 网络流量监控 精准定位高流量连接和 IP 功能单一,只看网络

推荐流程:

  1. 日常快速检查:使用 htop,因为它足够强大且易于使用。
  2. 深入分析:当发现 CPU 或内存占用异常时,用 htop 的排序功能找到元凶。
  3. 排查 I/O 瓶颈:如果系统卡顿但 CPU 不忙,使用 iotop 检查磁盘读写。
  4. 排查网络问题:如果感觉网络慢,使用 iftop 检查流量。
  5. 全面概览:使用 glances 获得一个关于系统健康状况的快速、全面的了解。
分享:
扫描分享到社交APP
上一篇
下一篇