如何获取Linux系统负载平均报告
获取服务器的平均负载将有助于了解系统随时间的 CPU 使用情况。作为 Linux 系统管理员,偶尔获取负载平均值至关重要,以确定您的系统是否因尝试处理当前工作负载而不堪重负。由于报告平均负载的方式,也很容易确定服务器是否过载,这可能意味着是时候在负载平衡服务器之间分配工作负载,或者升级当前的硬件了。
在本教程中,我们将了解一些常见的命令行工具,它们可用于报告 Linux 系统的平均负载。 top
和 uptime
是大多数管理员想到的两个最流行的工具,但 vmstat
等其他工具也允许我们跟踪平均负载在较长一段时间内。我们将在下面介绍这些不同的命令和工具。
在本教程中您将学习:
如何使用 top、htop、uptime 和 vmstat 命令
如何查看过去 1 分钟、5 分钟和 15 分钟的平均负载
如何查看自上次系统重启以来的平均负载
如何获取Linux系统负载平均报告
有很多命令行和 GUI 工具可以报告 Linux 上的平均负载。我们在下面介绍了一些最有用的方法。根据您的情况,一种工具可能比另一种更好。查看下面的示例并使用您认为对监视服务器负载最有用的工具。
顶部命令
top
命令为我们提供了系统平均负载的实时视图以及系统上运行的服务、每个服务正在使用的系统资源量以及系统 CPU 的摘要利用率等信息。
给出了三个数字来表示平均负载。这些数字分别是 1、5 和 15 分钟内的平均负载。将这些数字视为百分比 – 负载 0.2 表示 20%,负载 1.00 表示 100%。
这应该很容易理解,但您也可能会看到平均负载大于 1.00。这是因为平均负载不是 CPU 使用率的直接测量,而是系统尝试处理的“工作”(负载)量。例如,2.50表示当前负载为250%,也表示系统过载达150%。
正常运行时间命令
uptime
输出最近1分钟、5分钟、15分钟的系统负载,一目了然。它还输出一些其他方便的数据 - 自上次重新启动以来的时间量、当前时间以及登录的用户数量。
虚拟机状态
vmstat
命令还显示 CPU 平均负载,但与之前的命令不同,它显示自上次服务器重新启动以来的平均负载。
$ vmstat
vmstat
还接受参数:
$ vmstat 10 3
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
0 0 0 187528 177472 855836 0 0 12 78 2 0 7 2 83 1
0 0 0 203996 177532 855848 0 0 0 107 126 208 4 2 89 1
0 0 0 194108 177540 855856 0 0 0 3 102 166 2 1 96 0
上述 vmstat 命令生成了 3 个延迟 10 秒的报告。请注意,第一行始终包含整个服务器正常运行时间的值。
顶部
另一个值得一提的工具是 htop
,因为许多系统管理员更喜欢它而不是 top
,因为它会产生更清晰的输出,而且也更容易被眼睛看到。它还包含系统在过去 1 分钟、5 分钟和 15 分钟内的平均负载:
$ htop
您可以使用下面适当的命令通过系统的包管理器安装 htop。
要在 Ubuntu、Debian 和 Linux Mint 上安装 htop:
$ sudo apt install htop
要在 Fedora、CentOS、AlmaLinux 和 Red Hat 上安装 htop:
$ sudo dnf install htop
要在 Arch Linux 和 Manjaro 上安装 htop:
$ sudo pacman -S htop
结束语
在本教程中,我们了解了如何获取 Linux 系统上的负载平均值。有多种工具可以完成这项工作,包括 top
、htop
、uptime
、vmstat
和还有很多其他人。请记住,平均负载也可能超过 100%,这表明您的 CPU 因队列中的任务而过载。