如何实时监控 Linux 用户和进程?
Linux 是一款开源操作系统,在开发人员和系统管理员中越来越受欢迎。它以其稳定性、安全性和灵活性而闻名,并广泛应用于企业环境中。然而,与任何操作系统一样,密切关注系统性能以确保一切运行顺畅至关重要。这就是实时监控用户和进程的关键所在。
在本文中,我们将讨论如何实时监控 Linux 用户和进程。
我们将介绍一些用于此目的的最常用工具,例如 w、who、last、top 和 htop,它们用于管理 Linux 子系统中的用户和进程。在文章的下一部分,我们将解释如何使用这些工具来实时监控系统性能。
实时监控 Linux 用户
首先,我们将讨论如何实时监控 Linux 用户。一些最常用的命令行工具可以帮助您监控用户活动,例如 w、who 和 last 命令。让我们逐一详细了解它们。
1. w 命令
'w' 命令负责显示所有当前登录用户的列表,以及他们的登录时间、当前进程和系统负载。
该命令使用起来非常简单。只需在终端中输入 'w' 即可查看当前登录到系统的用户列表。
示例
$ w
输出
16:36:11 up 7 days, 6:21, 1 user, load average: 0.07, 0.02, 0.00 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT user1 pts/0 192.168.1.1 09:13 0.00s 0.02s 0.00s w
上述命令的输出显示当前只有一个用户登录,即 user1。它还显示了该用户的登录时间、终端(TTY)、远程 IP 地址以及当前系统负载。
2. who 命令
'who' 命令与 'w' 命令非常相似。唯一的区别在于,它只显示当前登录用户的列表,而没有其他详细信息。
同样,使用此命令也非常简单。只需在 Linux 终端中输入 'who' 即可。
示例
$ who
输出
user1 pts/0 2022-04-01 09:13 (192.168.1.1)
如上所示,'who' 命令仅显示已登录用户的列表、他们的终端和 IP 地址,而 'w' 命令则显示更多信息。
3. last 命令
'last' 命令显示所有最近的登录和注销记录。要查看此列表,请在终端中输入 'last'。
示例
$ last
输出
user1 pts/0 192.168.1.1 Fri Apr 1 09:13 still logged in user2 pts/1 192.168.1.2 Thu Mar 31 14:05 - 14:14 (00:08) user3 pts/2 192.168.1.3 Thu Mar 31 13:44 - 13:49 (00:05)
如上所示,'last' 命令会显示最近登录和注销的用户列表,以及每个用户的日期、时间和 IP 地址。
现在我们了解了一些用于实时监控用户的基本命令行工具。接下来,让我们了解如何实时管理进程。
实时监控 Linux 进程
在本文的这一部分,我们将介绍如何实时监控 Linux 系统中的进程。虽然有很多工具可以实现此目的,但我们将重点介绍两个常用的命令行工具:top 和 htop。
1. top 命令
首先,我们来看一下 top 命令。top 是一个内置的命令行工具,可以显示实时系统信息,包括 CPU 使用率、内存使用率和正在运行的进程。
要启动 top 命令,请打开终端并在命令提示符中输入"top"。输出将实时更新并显示系统的当前状态。
示例
$ top
以下是 top 命令的示例输出 -
输出
top - 22:07:36 up 2:24, 2 users, load average: 0.00, 0.00, 0.00
Tasks: 127 total, 1 running, 126 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.3 us, 0.3 sy, 0.0 ni, 99.4 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 7941.1 total, 4157.1 free, 2448.8 used, 1335.3 buff/cache
MiB Swap: 2048.0 total, 2048.0 free, 0.0 used. 5045.6 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1432 root 20 0 339968 55808 19112 S 1.0 0.7 0:44.08 Xorg
2462 username 20 0 908564 95916 54456 S 0.3 1.2 0:10.32 gnome-te+
2586 username 20 0 2203836 297076 111832 S 0.3 3.6 1:01.09 gnome-sh+
3122 username 20 0 2415716 407556 92312 S 0.3 5.0 1:47.80 firefox
1 root 20 0 168952 9724 6664 S 0.0 0.1 0:02.62 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.03 kthreadd
如您所见,输出结果显示了进程 ID (PID)、用户、CPU 使用率、内存使用率等信息。您还可以根据不同的标准(例如 CPU 使用率或内存使用率)对输出结果进行排序。为此,请按"O"键(大写字母 O),然后选择要排序的字段。
接下来,我们来看看 htop 命令。
2. htop 命令
htop 是 top 命令的更高级版本,它提供了更友好的用户界面和更多功能,例如可以在进程列表中垂直和水平滚动。
htop 的输出结果采用颜色编码,使其更易于阅读和理解。它还提供了一些其他功能,例如按名称搜索特定进程、按 CPU 使用率筛选进程,甚至可以直接从 htop 界面终止进程。
要启动 htop,请打开终端并在命令提示符中输入"htop"。
输出将实时更新,并显示系统的当前状态。$ htop
以下是输出示例

如上图所示,htop 提供了许多关于系统上运行进程的有用信息,包括 CPU 和内存使用情况、进程 ID 等。您可以使用方向键浏览界面,也可以按相应的键按各种条件对进程进行排序(例如,按 F6 按 CPU 使用率排序)。
除了 top 和 htop 命令之外,还有其他一些工具可用于实时监控 Linux 进程,例如 iotop、nethogs 和 iftop。
结论
在本文中,我们讨论了如何实时监控 Linux 用户和进程。首先,我们介绍了一些常用的命令行工具,例如 w、who 和 last,用于监控 Linux 用户。在文章后半部分,我们讨论了一些最流行的 Linux 用户和进程监控工具,例如 top 和 htop。通过使用这些工具,您可以识别性能瓶颈、排查问题并优化系统,使其流畅运行。无论您是系统管理员还是开发人员,这些工具都能帮助您监控和优化 Linux 系统,从而最大限度地提高效率。
相关文章
有用资源
linux 参考教程 - 该教程包含有关 linux 的更多信息:https://www.cainiaomax.com/linux/

