如何实时监控 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 系统的 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 系统,以实现最大效率。