4 个基于 CLI 的 Linux 性能监控工具:top、htop、ps 和 vmstat4 个基于 CLI 的 Linux 性能监控工具:top、htop、ps 和 vmstat4 个基于 CLI 的 Linux 性能监控工具:top、htop、ps 和 vmstat4 个基于 CLI 的 Linux 性能监控工具:top、htop、ps 和 vmstat
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

4 个基于 CLI 的 Linux 性能监控工具:top、htop、ps 和 vmstat

在此页

  1. 我们要在这里做什么?
  2. 为什么使用 CLI 方式?
    1. 1。最佳
    2. 2。顶
    3. 4。附言
    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 的发行版中使用和可用。仍然有许多工具可以依靠。每个工具都有自己的优点和局限性,选择特定工具取决于应用点。我们刚刚接触了这些工具的表面以概述这些工具,您可以通过参考手册页找到更多信息和要使用的选项。

©2015-2025 艾丽卡 support@alaica.com