Hostwinds 博客

寻找结果为:


CPU负载:它是什么,以及如何阅读和管理它 特色图片

CPU负载:它是什么,以及如何阅读和管理它

通过: Hostwinds Team  /  六月 28, 2024


一项调查发现,有68%的系统崩溃是由于CPU负载较高(SITE24X7),这突显了为什么要关注机器,无论是Web服务器还是计算机及其资源很重要。

让我们看一下CPU负载,它是什么,它的作用,如何监视性能以及一些最佳实践。

什么是CPU负载

CPU负载是衡量处理工作量的量度 网络服务器 或计算机的中央处理单元(CPU)在任何给定时间都在处理。它通常表示由CPU执行的过程数量或排队等待处理的过程数量。

进程是您的计算机或Web服务器处理和优先级任务的方式 - 无论是提供网页还是打开Word文档。每个过程都需要执行一定数量的CPU。

CPU负载指标

CPU负载在三个时间段内平均显示为1分钟,5分钟和15分钟。这些数字是什么意思:

1分钟的负载平均值: 准备在最后一分钟运行的流程数量。

5分钟的负载平均值: 平滑短期波动,显示过去5分钟内的平均负载。

15分钟的负载平均值: 提供长期视图,显示过去15分钟内的平均负载。

什么是良好的CPU负载平均值?

构成"良好" CPU负载的平均值取决于几个因素,包括CPU内核的数量和系统的特定用例。

单核CPU,平均负载低于1.0是好的,因为这意味着CPU并未过度劳累,并且应该具有足够的能力来处理工作负载的突然增加。负载平均为1.0表示CPU已充分利用。如果负载平均值超过1.0,则表明某些过程正在等待CPU时间,这可能会减慢处理。

对于 多核CPU,您将负载平均值除以内核数。因此,四核CPU上的平均负载为4.0,这意味着CPU已充分利用。

每个CPU核心的实用负载阈值

闲置到低负载:

  • 每个核心0.0至0.5:指示CPU大多数情况下未充分利用或闲置。

中度负载:

  • 每个核心0.5至1.0:建议CPU处理中等的工作负载并表现最佳。

高负载:

  • 1.0至2.0每个核心:指示CPU已大量加载,但仍在可管理的限制之内。系统仍然可以表现良好,但是可能会有一些放缓。

超载:

  • 每个核心高于2.0:指示CPU过载过载,从而导致显着的性能降解。这通常会导致较长的响应时间和潜在的系统不稳定性。

监视CPU负载

您可以使用大多数可用的命令和工具监视CPU加载 操作系统。这些提供了实时统计信息,并帮助您监视系统的性能。

对于Unix式操作系统

'top'命令: 此命令显示有关CPU负载,内存使用情况和运行过程的实时信息。它显示了哪些过程使用的是最多的CPU时间,从而更容易识别渴望资源的应用程序。当您输入'最佳'在命令行中,您会看到这样的输出:

top - 12:34:56 up  1:23,  1 user,  load average: 0.20, 0.25, 0.30
Tasks: 123 total,   1 running, 122 sleeping,   0 stopped,   0 zombie
%Cpu(s):  3.2 us,  1.0 sy,  0.0 ni, 95.5 id,  0.2 wa,  0.0 hi,  0.1 si,  0.0 st

输出将是系统过程的连续更新列表,默认情况下由CPU使用排序。它还显示每个核心的负载平均值和CPU使用率的百分比。

'正常时间'命令: "正常运行时间"命令可以快速摘要您的系统运行时间以及过去1、5和15分钟的平均负载。这对于快速检查系统的负载而无需潜入详细的过程信息很有用。当您输入'正常运行时间'在终端,您会得到一个 输出 像这样:

10:34:52 up 5 days,  3:46,  3 users,  load average: 0.28, 0.18, 0.12

此输出显示当前时间,系统运行的时间,活动用户的数量以及负载平均值。

'PS'命令: 此命令列出了运行过程及其CPU和内存使用量。它可以帮助您确定引起高CPU负载的特定过程。这 'ps命令有很多选择,但是常见的用法是查看最重要的CPU耗费流程。执行此操作,运行以下命令:

ps -eo pcpu,pid,user,args | sort -k 1 -r | head -10

此命令将:

  • 选择所有已知过程('EO')

  • 显示每个过程CPU使用('pcpu'),

  • 显示过程ID('pid')

  • 显示用户('用户')发起命令

  • 显示启动该过程的特定命令('args')

  • 分类前10个过程('头-10')通过CPU使用以降序使用('排序-K 1 -R')

输出看起来像这样:

%CPU   PID USER     COMMAND
20.0  1234 johndoe  /usr/bin/python3 script.py
15.5  2345 janedoe  /usr/bin/java -jar application.jar
10.2  3456 johndoe  /usr/bin/gcc -o program source.c
 8.0  4567 janedoe  /usr/bin/python3 another_script.py
 6.5  5678 root     /usr/sbin/apache2 -k start
 4.0  6789 nobody   /usr/bin/nginx -g daemon off;
 3.5  7890 johndoe  /usr/bin/perl script.pl
 2.5  8901 janedoe  /usr/bin/mysql -u root -p
 1.0  9012 root     /usr/bin/sshd -D
 0.5  9123 johndoe  /bin/bash

对于Windows系统

Windows不本地支持 '顶部''PS' 命令像Unix一样系统。但是,您仍然可以检查您的CPU资源:

任务管理器: 不需要用户友好的工具 命令行知识,Task Manager是一个图形工具,可提供CPU使用概述,并显示有关运行应用程序和流程的详细信息。

  • 'Ctrl+Shift+Esc'访问任务管理器

到达那里后,请查看"性能"选项卡以查看实时CPU使用或"过程"选项卡以查看每个运行过程的详细信息。

资源监视器: 这是一个窗户 命令行选项将显示有关CPU使用和系统资源的详细见解。

  • 类型 'Resmon'在运行对话框中('win+r')和按下 进入.

单核与多核系统

核心是执行实际操作(任务)的CPU的一部分,例如执行程序中的说明。

单核CPU: 在单核处理器中,CPU一次只能处理一个任务。它可以上下文开关,这意味着它可以迅速在任务之间切换,以使运行多个应用程序的外观。但是,单核CPU可以快速处理太多同时任务。

多核CPU: 多核处理器在单个CPU中包含两个或多个内核。每个核心都可以独立执行自己的任务,从而大大提高性能并允许真正的多任务处理。

CPU负载与CPU利用率

监视CPU负载和利用率都有助于了解服务器使用其处理能力的有效性。

CPU负载: 指的是等待CPU时间的任务数量。它表示为在不同时间段(1分钟,5分钟和15分钟平均值)中的负载平均值。这些平均值为短期和长期工作趋势提供了见解。高CPU负载表明,任务正在争夺处理资源,这可能导致响应能力降低和绩效退化。

CPU利用率: 衡量CPU积极处理任务的时间百分比。高CPU利用率表明CPU正在积极执行指令和处理数据。但是,如果任务有效地管理,则仅凭高利用率并不一定意味着超载系统。

高CPU负载的原因

高CPU负载可能是:

密集的计算任务: 运行复杂的计算或处理大数据集会增加CPU负载,例如渲染视频或运行模拟。

同时执行的任务太多: 在同时运行的多个应用程序或背景过程可能会导致高CPU负载。例如,运行Web浏览器,视频编辑器和游戏可以同时应对CPU。

效率低下或卡住的过程: 某些过程可能会使用比必要的更多CPU时间,或者陷入无尽的循环中,不断消耗CPU资源。这通常发生在设计较差或越野车软件中。

管理和减少CPU负载

研究表明,保持 CPU负载低于70% 能够 将系统寿命提高30%。这意味着保持CPU负载不仅可以改善性能,还可以延长硬件的寿命。

以下是减少高CPU负载的几种方法:

终止或重新启动有问题的过程: 识别并结束消耗过多CPU的任务。例如,如果应用程序导致高负载,则可以结束任务或重新启动应用程序。顶部命令可以帮助您发现这些任务。

更新软件和驱动程序: 过时的软件和驱动程序可能导致CPU使用效率低下。保持系统的更新可以通过修复错误并优化资源使用来帮助提高性能。

重新安装或降级有问题的应用程序: 如果应用程序始终导致高CPU负载,请重新安装或使用较旧版本,可能会解决该问题。有时,较新的版本会引起高CPU使用率的错误。

重启您的计算机: 有时,一个好的老式重启会清除导致高负载并重置系统的过程。这是解决临时问题的快速简便方法。

监视CPU负载是一个重要的指标,可以关注您是否要保持服务器的性能和稳定性。通过了解CPU加载指标,使用适当的工具以及执行定期检查,您可以防止过载并确保您的Web服务器或计算机运行顺利。

撰写者 Hostwinds Team  /  六月 28, 2024