4 个基于 CLI 的 Linux 性能监控工具:top、htop、ps 和 vmstat
在此页
- 我们要在这里做什么?
- 为什么使用 CLI 方式?
- 1。最佳
- 2。顶
- 4。附言
- 4。虚拟机统计
Linux 是一个非常稳定的操作系统,具有强大的安全功能。在某些情况下,我们可能需要观察系统的性能,这可能是由于某些技术故障或作为例行健康检查的一部分。性能测量使我们能够快速了解系统的运行情况,例如性能日志可以告诉我们正在运行的进程、正在使用的内存量、正在使用的 CPU 量等。这些信息还可以帮助我们做出与有效资源规划、调试系统问题等相关的决策。大多数 Linux 发行版都提供命令-线条工具和图形工具来完成此任务。其中一些预装在操作系统中,一些可能需要安装。这些工具被归类为实时监控工具或基于日志的工具。
顾名思义,实时监控工具提供有关系统当前状态的信息。结果不断更新。
基于日志的工具将性能结果存储在一个文件中,以后可以检索该文件以进行处理、分析或与其他应用程序一起使用。
我们将在这里做什么?
在本指南中,我们将介绍一些常用的基于命令行的工具来监控系统性能。我们在本指南中使用 Ubuntu 20.04 操作系统,尽管我们将要讨论的工具适用于大多数基于 Linux 的发行版。
为什么使用 CLI 方式?
一个可能浮现在脑海中的明显问题是,为什么我们更关注基于命令行的工具。第一个原因是你可能并不总是幸运地让图形环境工作,例如您正在使用的系统可能是远程生产服务器,并且没有图形界面。如果您暂时拥有本地系统,您可能没有权限在其上安装图形界面。另一个原因是,通过命令行界面,我们有机会进行多任务处理。 Tmux 就是这样一个应用程序,我们可以从中同时监控多个系统。
1. 顶部
此命令显示实时系统状态摘要。输出显示用于不同目的的系统内存 (RAM) 数量、正在使用的 CPU 百分比、交换内存和其他信息。通过简单地运行不带任何选项的 top 命令,还可以显示有关内存和 cpu 使用情况的进程统计信息:
我们还可以通过在“top”运行时键入“f”来选择要在“top”输出中显示的列。在新屏幕上,按“空格键”或“d”选择或取消选择任何列,然后按“esc”返回。在下图中,我们删除了一些列并添加了一个新列 (GID):
2.Htop
Htop 命令以更具信息性和交互性的方式显示数据。进程名称更具描述性,鼠标集成是“top”命令不存在的额外功能。我们可以使用鼠标选择终端输出中显示的各种列。另一个好处是它提供颜色编码以轻松掌握和分析输出。可以使用以下命令在 Ubuntu 20.04 上安装“Htop”:
$ sudo apt install htop
为了调整各种设置,Htop 使用功能键。例如F3 可用于搜索控制台上显示的输出。要列出特定用户拥有的进程,要使用的命令是:
$ htop -u User_Name
对于 root 用户,命令将是:
$ htop -u root
$ htop -C
4.附言
‘ps’ 命令的实现在不同的 Unix 系统中有显着的不同,例如它可能在一个系统上使用一个标志(选项),而在另一个系统上使用另一个标志(选项),即使两种情况下的输出可能相同。在“ps”命令的情况下,输出是静态的,不像我们获得实时更新的“top”和“htop”。当没有传递任何选项时,“ps”命令返回活动 shell 和最终进程的名称。
要显示所有正在运行的进程,包括其他用户(所有者)拥有的进程,请使用以下命令:
$ ps aux
由于我们使用了“u”选项,因此还将显示用户名。显示系统上正在运行的进程列表的另一种方法是使用以下命令:
$ ps -A
您可能已经注意到 ps 命令输出通常很大。为了简化分析或过滤工作,我们可以使用“grep”命令。例如要过滤“/usr/lib/firefox/firefox”进程,请使用:
$ ps aux | grep ‘/usr/lib/firefox/firefox/
$ ps -aux > output.txt
上面的命令会将输出定向到文件“output.txt”。
4.vmstat
虚拟内存报告器或 vmstat 收集有关 CPU、虚拟内存(swapd)、块 I/O、磁盘等的数据。如果没有使用选项,它会显示有关这些参数的平均信息。平均值取自上次系统重新启动的时间。我们可以指定一个采样率,之后数据将显示在终端上:
$ vmstat 2
使用“-a”选项将为您提供活动和非活动系统内存。与“ps”命令一样,“vmstat”的输出因平台而异。我们还可以指定测量计数的数量:
$ vmstat 1 4
结论
这是对四种基于命令行的工具的简要讨论,这些工具通常在大多数基于 Linux 的发行版中使用和可用。仍然有许多工具可以依靠。每个工具都有自己的优点和局限性,选择特定工具取决于应用点。我们刚刚接触了这些工具的表面以概述这些工具,您可以通过参考手册页找到更多信息和要使用的选项。