第 21 章 系统监控工具
要配置系统,系统管理员通常需要确定可用内存量、可用磁盘空间量、硬盘驱动器的分区方式或正在运行的进程。
21.1. 查看系统进程
21.1.1. 使用 ps 命令
ps
命令允许您显示正在运行的进程的信息。它生成一个静态列表,即,用于执行 命令时正在运行的快照。如果您希望持续更新正在运行的进程列表,请使用 top
命令或 系统监控器 应用程序。
要列出系统中运行的所有进程,包括其他用户拥有的进程,在 shell 提示符后输入以下内容:
ps
ax
对于列出的每个进程,ps ax
命令显示进程 ID(PID
)、与其关联的终端(TTY
)、当前状态(STAT
)、模拟 CPU 时间(TIME
),以及可执行文件的名称(COMMAND
)。例如:
~]$ ps ax
PID TTY STAT TIME COMMAND
1 ? Ss 0:01 /usr/lib/systemd/systemd --switched-root --system --deserialize 23
2 ? S 0:00 [kthreadd]
3 ? S 0:00 [ksoftirqd/0]
5 ? S> 0:00 [kworker/0:0H]
[output truncated]
要显示每个进程的所有者,请使用以下命令:
ps
aux
除 ps ax
命令提供的信息外,ps aux
显示进程所有者的有效用户名(USER)
、CPU(%
MEM
)使用率、以 KB 为单位的虚拟内存大小(VSZ
)、非交换的物理内存大小(以 KSS)(RSS
)以及进程启动的时间或日期。例如:
~]$ ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.3 0.3 134776 6840 ? Ss 09:28 0:01 /usr/lib/systemd/systemd --switched-root --system --d
root 2 0.0 0.0 0 0 ? S 09:28 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 09:28 0:00 [ksoftirqd/0]
root 5 0.0 0.0 0 0 ? S> 09:28 0:00 [kworker/0:0H]
[output truncated]
您还可以将 ps
命令与 grep
结合使用来查看特定进程是否正在运行。例如,要确定 Emacs 是否 在运行,请输入:
~]$ ps ax | grep emacs 12056 pts/3 S+ 0:00 emacs 12060 pts/2 S+ 0:00 grep --color=auto emacs
有关可用命令行选项的完整列表,请查看 ps(1)手册页。
21.1.2. 使用 top 命令
top
命令显示系统上正在运行的进程的实时列表。它还显示有关系统正常运行时间、当前 CPU 和内存使用情况或正在运行的进程总数的附加信息,并允许您执行诸如排序列表或终止进程等操作。
要运行 top
命令,在 shell 提示符后输入以下内容:
top
对于列出的每个进程,top
命令显示进程 ID(PID
)、进程所有者的有效用户名(USER
)、优先级(PR
)、nice 值(NI
)、进程使用的虚拟内存量(VIRT
)、进程使用的非交换物理内存量(RES
)。 进程使用的共享内存量(SHR
)、进程状态字段 S
、CPU 和内存(%
MEM
)使用量的百分比、模拟 CPU 时间(TIME+
),以及可执行文件的名称(COMMAND
)。例如:
~]$ top top - 16:42:12 up 13 min, 2 users, load average: 0.67, 0.31, 0.19 Tasks: 165 total, 2 running, 163 sleeping, 0 stopped, 0 zombie %Cpu(s): 37.5 us, 3.0 sy, 0.0 ni, 59.5 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 1016800 total, 77368 free, 728936 used, 210496 buff/cache KiB Swap: 839676 total, 776796 free, 62880 used. 122628 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 3168 sjw 20 0 1454628 143240 15016 S 20.3 14.1 0:22.53 gnome-shell 4006 sjw 20 0 1367832 298876 27856 S 13.0 29.4 0:15.58 firefox 1683 root 20 0 242204 50464 4268 S 6.0 5.0 0:07.76 Xorg 4125 sjw 20 0 555148 19820 12644 S 1.3 1.9 0:00.48 gnome-terminal- 10 root 20 0 0 0 0 S 0.3 0.0 0:00.39 rcu_sched 3091 sjw 20 0 37000 1468 904 S 0.3 0.1 0:00.31 dbus-daemon 3096 sjw 20 0 129688 2164 1492 S 0.3 0.2 0:00.14 at-spi2-registr 3925 root 20 0 0 0 0 S 0.3 0.0 0:00.05 kworker/0:0 1 root 20 0 126568 3884 1052 S 0.0 0.4 0:01.61 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd 3 root 20 0 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0 6 root 20 0 0 0 0 S 0.0 0.0 0:00.07 kworker/u2:0 [output truncated]
表 21.1 “交互式顶部命令” 包含有用的交互式命令,可用于 top
。如需更多信息,请参阅前(1)man page。
命令 | 描述 |
---|---|
输入,Space | 立即刷新显示。 |
h | 显示交互式命令的帮助屏幕. |
H ,是吗? | 显示窗口和字段组的帮助屏幕. |
k | 终止进程.系统将提示您输入进程 ID 以及向其发送的信号。 |
n | 更改显示的进程数.系统将提示您输入数字。 |
u | 按用户对列表排序. |
M | 根据内存使用情况对列表排序. |
P | 根据 CPU 使用情况对列表排序. |
q | 终止 实用程序并返回到 shell 提示符。 |
21.1.3. 使用系统监控器工具
系统监控器 工具的 Processes
选项卡允许您从图形用户界面查看、搜索、更改 的优先级和终止进程。
要从命令行启动 系统监控器 工具,请在 shell 提示符下键入 gnome-system-monitor
。系统监控 器工具会出现。或者,如果使用 GNOME 桌面,按 Super 键进入"活动概览",键入 "系统监控器"
,然后按 Enter 键。系统监控 器工具会出现。Super 键显示在各种 guis 中,具体取决于键盘和其他硬件,但通常作为 Windows 或 Command 键(通常在 空格栏 的左侧)。
单击 Processes
选项卡,以查看正在运行的进程列表。
图 21.1. 系统监控器 - 进程
对于列出的每个进程,系统监控器 工具显示其名称(Process Name
)、当前状态(Status
)、CPU 使用率(% CPU
)、nice 值(Nice
)、进程ID
(ID)、内存使用情况(Memory
)、进程正在等待的频道(等待通道
),以及会话的其他详细信息(会话
)。若要按特定列按升序排列信息,可单击该列的名称。再次单击列的名称,将排序切换为升序和降序。
默认情况下,System Monitor 工具显示当前用户拥有的进程的列表。通过从 View 菜单中选择各种选项,您可以:
- 仅查看活动进程,
- 查看所有进程,
- 查看您的进程,
- 查看进程依赖关系,
另外,两个按钮可让您:
- 刷新进程列表,
- "按钮,以结束该进程。