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

更新于: 2023年7月27日

714 次浏览

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告