如何在 Linux 命令行中检查 CPU 使用率

您所在的位置:网站首页 如何查看cpu使用时间 如何在 Linux 命令行中检查 CPU 使用率

如何在 Linux 命令行中检查 CPU 使用率

2024-07-02 19:50| 来源: 网络整理| 查看: 265

如何在 Linux 命令行中检查 CPU 使用率

作为系统管理员,密切关注 CPU 使用情况非常重要。以下是如何在 Linux 终端中执行此操作。

作为 SRE 或 Linux 管理员,您需要密切关注不同的服务器、虚拟机、虚拟机管理程序等;并确保它们没有任何僵尸进程或占用所有 CPU 功率的东西。

可以通过命令行以多种方式完成此操作,并且根据完成方式的不同,您可以通过不同的方式获取所需的信息。

以下是Linux中检查CPU使用率的一些常见方法:

top

这可能是最常见的方法,也是 Linux 管理员最熟悉的方法。这个简单的命令不仅可以提供CPU,还可以提供RAM甚至系统性能信息。

它每 5 秒自动刷新一次,因此它是获得系统“顶部”视图的绝佳工具。它还为您提供有关正在运行的进程以及每个进程消耗多少 CPU 和 RAM 的信息。

读取top命令输出

此命令为您提供了一堆信息,这些信息对于肉眼和未经训练的人来说可能看起来太多。让我们快速总结并回顾一下您应该从此命令中考虑的内容:

PID

进程ID,只是每个正在运行的进程的简单标识符。

USER

它是拥有同一行中的特定进程的用户名。

PR

它指的是任务的优先级。

NI

这项任务的价值很高。负的nice值意味着更高的优先级,而正的nice值意味着更低的优先级。

%CPU

自上次屏幕更新以来任务使用的 CPU 使用率,表示为总 CPU 时间的百分比。

TIME+

任务使用CPU 的时间有多长。

COMMAND

它是生成任务所执行的命令的名称。

它有不同的过滤器,例如:

U

此过滤器为您提供特定用户拥有的所有进程。

M

此过滤器按所有正在运行的进程使用的内存量对它们进行排序。

P

此过滤器按所有正在运行的进程使用的 CPU 量对它们进行排序。

I

此过滤器隐藏所有空闲进程。

💡您还可以安装和使用 htop 命令,它类似于 top 但更漂亮且更用户友好。sar命令

该命令不仅允许您定期监视 CPU 使用情况,还可以将此系统活动信息保存在文件中。它的工作原理与top类似。

读取 sar 命令输出

该命令提供的信息较少,并且读取起来更加简单。以下是每列的内容:

时间列仅表示拍摄输出快照的特定时间(小时、分钟和秒)。

CPU

它显示 CPU 核心的数量,或 ALL 表示所有核心的平均值。

%User

它是在用户级别运行应用程序所花费的时间百分比。

%Nice

它是在用户级别运行应用程序所花费的时间百分比,具有很好的优先级。

%system

它是在内核中系统级别执行进程所花费的时间百分比。

%iowait

它是 CPU 因未决磁盘 I/O 请求而空闲的时间百分比。

%steal

在虚拟机中,这是虚拟 CPU 空闲的时间百分比,因为实际 CPU 正在为同一主机上的不同虚拟机提供服务。

%idle

CPU 空闲且没有任何挂起的磁盘 I/O 请求的时间百分比。

vmstat命令

这可能是更多信息输出的命令。它报告有关进程、内存、分页、块 IO、陷阱、磁盘和 CPU 活动的信息。

读取 vmstat 命令输出

由于该命令输出了大量信息,因此有很多内容需要理解:

procs - 这表示正在运行的进程数,“r”是“正在运行”的进程,“b”是正在休眠的进程。

内存 - 这部分有很多关于内存的信息:

swap

使用的虚拟内存或交换空间量。

free

可用的空闲内存量。

buff

用作缓冲区的内存量。

cache

用作缓存的内存量。

swap - 在此部分中输出所有交换内存使用情况:

si

从磁盘换入的内存量(超过一秒)。

so

换出到磁盘的内存量(超过一秒)。

io - 表示传入和传出的信息块:

bi

从块设备接收到的块(超过一秒)。

bo

块发送到块设备(超过一秒)。

系统 - 指的是有关系统的一些事情:

in

每秒的中断数,包括时钟。

cs

每秒上下文切换的次数。

cpu - 此列概述了 CPU 时间的执行情况:

us

运行非内核代码所花费的时间。

sy

运行内核代码所花费的时间。

id

闲置的时间。

wa

I/O 花费的时间。

st

从虚拟机窃取的时间(用于同一主机中的另一台虚拟机)。

mpstat命令

默认情况下,系统上可能未安装此命令,它是名为“sysstat”的软件包的一部分,需要安装该软件包才能获取它。

如果您裸运行它,它会提供 CPU 使用统计信息的单一快照,但您可以指定它来提供有关服务器中每个 CPU 的信息。

由于此命令更多地挖掘 CPU,某些处理程序可以为您提供服务器中每个处理器的使用情况,并显示每个硬件中断或节点的使用百分比。

读取 mpstat 命令输出

该命令提供了大量以 CPU 为中心的信息:

all

表示所有CPU,而0或1是不同的核心。

%usr

显示在用户级别(应用程序)执行时的 CPU 利用率百分比。

%nice

显示以良好优先级在用户级别执行时的 CPU 利用率百分比。

%sys

显示在系统级别(内核)执行时的 CPU 利用率百分比。

%iowait

显示系统有未完成的磁盘 I/O 请求期间 CPU 或多个 CPU 空闲的时间百分比。

%irq

显示一个或多个 CPU 处理硬件中断所花费的时间百分比。

%soft

显示 CPU 或多个 CPU 服务软件中断所花费的时间百分比。

%steal

显示虚拟机管理程序为另一个虚拟机提供服务时虚拟 CPU 或多个 CPU 等待所花费的时间百分比。

%guest

显示一个或多个 CPU 运行虚拟处理器所花费的时间百分比。

%idle

显示一个或多个 CPU 空闲且系统没有未完成的磁盘 I/O 请求的时间百分比。

iostat命令

该命令输出输入/输出设备统计信息的监控,其中不仅包括CPU使用率,还包括磁盘利用率和性能。

读取 iostat 命令输出

它提供了很多有用的信息,我在这里总结一下:

CPU信息:

%user

显示在用户级别执行时所使用的 CPU 百分比。

%nice

显示在具有良好优先级的用户级别执行时 CPU 利用率的百分比。

%system

显示在系统(内核)级别执行时 CPU 利用率的百分比。

%iowait

显示系统有未完成的磁盘 I/O 请求时 CPU 或多个 CPU 空闲的时间百分比。

%steal

显示虚拟机管理程序为另一个虚拟机提供服务时虚拟 CPU 或多个 CPU 等待所花费的时间百分比。

%idle

它显示一个或多个 CPU 空闲且系统没有未完成的磁盘 I/O 请求的时间百分比。

设备信息:

设备:/dev 目录中列出的设备/分区名称。

tps

每秒向设备发出的传输数。 tps 越高意味着处理器越繁忙。

Blk_read/s

显示每秒从设备读取的数据量,以块数(千字节、兆字节)表示。

Blk_wrtn/s

每秒写入设备的数据量,以块数(千字节、兆字节)表示。

Blk_read

显示读取的块总数。

Blk_wrtn

显示写入的块总数。

变得有点图形化

即使您在命令行上工作,您也可以获得一些不错的选项来以图形方式表示 CPU 使用情况。这里有些例子:

终端负载

这是一个适用于 Debian 和基于 Debian 的发行版的软件包。您可以简单地从常规存储库进行安装,它将为您提供一个星号图,其中显示一次 1 分钟快照的 CPU 使用率平均值,一次 5 分钟的快照为绿色,一次 15 分钟的快照为蓝色——三个都在一个网格上。更大的时间片有助于更好地看待瞬时峰值。

s-tui

尽管这不是一个命令,而是一个开源 Python 应用程序,但它非常有用,因为它为您提供了大量信息。全部使用命令行。

它向您显示 CPU 的类型,并允许您使用鼠标或键盘在不同的菜单项之间浏览,从而允许您打开和关闭显示选项。它就像一个专用于您的 CPU 的完整报告工具。

由于它是可浏览的,我不会介绍它的选项,因为只需单击或击键即可打开和关闭这些选项,但它甚至可以为您提供 CPU 温度、频率、每个 CPU 或节点的信息,等等!

结论

正如你所看到的,不同的选项会给你提供与你的CPU相关的信息,这取决于你调查的角度或者你需要获得什么,这就是你要使用哪个命令的决定。

通常情况下,命令并不是简单地通过命令行来进行监控。尽管如此,它们还是在脚本中使用,然后根据管理员的目标,使用获得的输出来执行某些自动化或在服务器内执行特定操作。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3