Linux 如何实时监控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系统,以实现最高效率。
极客笔记