Linux Load Average过高多少合适?CPU Load使用率检查

1. 背景

如果你的计算机(电脑)速度很慢,你可能需要检查是否系统高负载?

最近,有位网络营销人员表示,他所负责的电商网站,前段时间出现状况无法访问……

该网站基于WordPress建站,在Linux VPS服务器搭建。

Linux VPS服务器的配置,只有1个CPU核心数、1GB RAM内存。

登录Linux VPS服务器后台查看问题,发现load average平均负载非常高,达到10.0以上。

在Linux系统上,我们通常使用uptime命令来查看它(w命令和top命令也可用)。

此外,它们也适用于Apple的Mac电脑。

发现load average负载过高问题,就想办法解决问题!

遇到load average负载过高的情况,解决方案可以是提高CPU核心数。
然后,果断将配置升级到2个CPU核心、8 GB RAM内存。
很快就解决了load average负载过高的状况。

2. 检查系统负载

在SSH终端窗口中,键入以下命令(top或w命令也可以) ▼

uptime

系统将返回一行信息 ▼
load average
Linux Load Average过高多少合适?CPU Load使用率检查
该行的后半部分显示“load average”,表示“系统的平均负载”
内有3个数字,我们能由此确定系统负载是大还是小?
load average
服务器负载?top命令/CPU使用率/load average计算方法
为什么有3个数字?
它们代表系统的平均负载,分钟为1分钟,5分钟和15分钟。
如果继续查看,它还会告诉你当CPU完全空闲时,平均负载为0;
当CPU工作负载饱和时,平均负载为1。

2.1. CPU是什么意思?
  • CPU就是中央处理器。(英文Central Processing Unit,CPU)
  • CPU是一台计算机的运算核心和控制核心。
2.2. CPU使用率
  • CPU使用率是一段时间内,CPU使用状态的统计信息。
  • 该指示显示CPU使用率(CPU被占用的情况)。
  • 如果CPU长时间占用,则需要考虑CPU是否过载。?
  • 长期过载操作是对机器本身的一种损害。
  • 因此,必须将CPU利用率控制到一定比例,以确保机器的正常运行。
2.3. Load Average是什么?
  • Load Average是CPU负载,它包含的信息是一段段内CPU使用状态的统计。

  • 它是CPU处理和等待CPU处理一段时间的进程数之和的统计信息。即CPU使用的队列长度统计信息。

  • 显然,“load average”的值越低,例如0.2或0.3,意味着计算机(电脑)的工作量越小,系统负载越轻。

  • 但是,什么时候能看到系统负载很严重?

  • 到底是等于1时?或是等于0.5?还是等于1.5?

  • 如果这三个值在1分钟,5分钟和15分钟内不同,我该怎么办?

3. 类比

要确定系统负载是否过重,你必须了解load average(平均负载)的真实含义。
接下来,用最通俗易懂的语言,来解释这个问题。
首先,我们假设在最简单的情况下,你的计算机只有一个CPU,所有运算操作必须由该CPU完成。
让我们将这个CPU的load Average,想象成一座桥梁
桥上只有一条车道,所有车辆都必须越过这条车道。
(显然,这座桥只能用于一个方向。)
当系统负载为0时,表示桥上没有汽车
load average
系统负载为0.5,这意味着桥上有一半的汽车
load Average
系统负载为1.0,这意味着桥的所有部分都有汽车,这意味着桥是“满的”
load Average
但必须指出的是,在此桥梁仍然可以顺利通过。
系统负载为1.7,这意味着车辆太多,桥梁已满(100%)。
等待桥梁的车辆占桥梁车辆的70%。
通过类比,以此类推,系统负载为2.0
意味着有许多在等待的车辆和桥面一样多。
系统负载为3.0,意味着等待桥梁的车辆是桥面的两倍。
当系统负载大于1时,后方车辆必须等待;

系统负载越大,等待过桥的时间越长
系统负载越大,等待过桥的时间越长
CPU的系统负载,基本上等于上述模拟桥的容量,这是CPU的最大工作量。
桥上的车辆是等待CPU处理的过程(process)。

假如CPU每分钟最多处理100个进程,则系统负载为0.2,这意味着CPU在这1分钟内仅处理20个进程;
系统负载为1.0意味着CPU在这1分钟内处理100个进程;
1.7这意味着除了CPU在处理的100个进程外,还有70个进程在等待CPU处理。
为了顺利运行计算机,系统负载不应超过1.0,因此无需等待任何进程,并且可以首先处理所有进程。
显然,1.0是一个关键值。
如果超过此值,则系统不处于最佳状态。你必须干预。

4. 系统负载load average多少合适?

1.0是系统负载的理想值吗?
不一定,系统管理员往往会留下一点空间。
当此值达到0.7时,你应该知道是这样的:

当系统负载继续大于0.7时,你必须开始调查问题,并防止情况恶化。
当系统负载继续大于1.0时,你必须找到解决方案,并降低该值。
当系统负载达到5.0时,表明系统存在严重问题,并且长时间没有响应,或几乎崩溃。你不应该让系统达到此值。

5. 多个CPU处理器

以上是假设你的计算机(电脑)只有一个CPU。
如果你的计算机(电脑)安装了2个CPU,会发生什么?
2个CPU意味着计算机(电脑)的处理能力提升了一倍,并且可以同时处理的进程数量翻了一倍。

在此仍然使用大桥来做类比,2个CPU意味着大桥有2个通道,通车容量加倍
在此仍然使用大桥来做类比,2个CPU意味着大桥有2个通道,通车容量加倍

因此,2个CPU表示系统负载能达到2.0,并且每个CPU达到100%的工作负载。
n.0个CPU的电脑,可接受的系统负载最大为n.0个CPU。

6. 多核CPU处理器

芯片供应商通常在1个CPU内部,包含多个CPU内核,被称为“多核CPU”。
在系统负载方面,多核CPU类似于多CPU。
因此,在考虑系统负载时,必须考虑你的计算机有多少个CPU?并且每个CPU都有多少个核心?
然后,通过将系统负载除以核心总数,只要每个核心的负载不超过1.0,计算机就会如常运行。
如何知道一台电脑有多少CPU核心?

使用命令,允许你查看CPU信息 ▼

cat /proc/cpuinfo

直接返回CPU的核心总数的命令 ▼

grep -c 'model name' /proc/cpuinfo

7. load average时间该看哪个?

最后一个问题:

“load average”平均负载,总共返回三个平均值

1分钟系统负载、5分钟系统负载、15分钟系统负载。

我应该参考哪个值

如果系统负载仅在1分钟内大于1.0,则其他2个时间段小于1.0,这表明这只是暂时现象,问题并不严重。
如果平均系统负载在15分钟内(提高CPU核心数量后)大于1.0,则问题仍然存在,而不是暂时现象。
因此,你应该主要观察“15分钟系统负载”作为计算机(电脑)如常运行的指示器。

以下是更多关于top命令/CPU使用率/load average计算方法 ▼
服务器负载?top命令/CPU使用率/load average计算方法: https://blog.csdn.net/craftsman2020/article/details/122838096

8. 负载太高怎么办?

现在我的网站无法访问,因为负载太高,怎么办?

top - 20:44:30 up 12 min, 1 user, load average: 2.21, 8.39, 6.48

你的服务器是自我管理的,你应该做的是通过SSH检查你的服务器本身。
检查它正在运行什么?什么进程等等?
如果需要,请尝试重新启动服务器。
要是重启服务器后,还是负载过高,请尝试识别负载过高的进程,停止它。
如有必要,单独重新启动进程(而不是服务器)。
若仍然无计可施,最终唯有提高服务器配置了。

参考文献:
https://www.chenweiliang.com/cwl-1027.html

### 回答1: 在 Linux 系统中,load average 是一个表示系统 CPU 利用率的指标。如果 load average,可能会导致系统变慢或崩溃。以下是一些解决方法: 1. 找出负载的原因:使用 top 或 htop 命令查看进程列表,找出占用 CPU的进程。如果是某个进程导致负载,可以考虑优化该进程或限制其资源使用。 2. 增加系统资源:如果负载是由于系统资源不足导致的,可以考虑增加系统资源。例如,增加 CPU 核数、内存或磁盘容量。 3. 优化系统设置:可以优化一些系统设置来减少负载。例如,修改文件系统调度算法、禁用不必要的服务、调整内核参数等。 4. 分散负载:将一些任务分散到多台机器上,可以减轻单台机器的负载。可以使用负载均衡等技术来实现。 5. 升级软件:如果负载是由于软件版本过低导致的,可以考虑升级软件。新版本的软件可能会修复一些性能问题。 ### 回答2: Load average是衡量机器在某个时间段内处理能力的指标,是指过去1分钟、5分钟和15分钟内的平均进程数。当load average时,服务器的负载较重,可能导致服务器性能下降,甚至出现宕机等问题,因此要及时解决。一般情况下,load average在1以下时表示负载较轻,当在1-5之间时表示负载适中,而在5以上时则表示负载过重。 那么,如何解决load average的问题呢? 1.优化应用程序 如果服务器上运行的应用程序对CPU和内存的使用非常,很可能会导致load average。此时,我们可以采取优化应用的措施,比如优化代码、升级软件等。如果不能优化应用的话,可以考虑拆分应用,将各个应用分布到不同的服务器上,以减轻负载。 2.减少并发连接 服务器支持的并发连接数是有限的,当连接数过多时就会导致load average。我们可以通过限制访问速度、减少同时访问连接数等方式,来减少并发连接数。 3.增加资源 如果服务器配置较低,那么增加资源是有效的方式。比如,增加内存、CPU等硬件配置,或者调整系统内存和SWAP分区大小。 4.关闭不必要的服务 服务器上运行着不必要的服务,也会导致load average。因此可以考虑关闭一些不必要的服务,减少对系统资源的占用,以降低load average。 总之,如果load average,需要根据具体情况采取相应的措施。同时,长期关注系统负载的变化,进行监控和预警,可以避免因负载过重导致的服务器宕机等问题。 ### 回答3: Load Average通常指的是系统中正在运行的进程数量,它可以帮助您判断系统的整体负载情况。Load Average,表示系统的负载越重,需要更多的资源来支持运行。 当Load Average时,系统可能会变得非常缓慢,甚至可能导致系统崩溃。因此,如何快速解决Load Average的问题就显得尤为重要。以下是几个解决方法: 1. 增加CPU和内存资源:如果您的服务器硬件配置较低,可能需要增加更多的CPU和内存资源来支持运行更多的进程。 2. 优化进程,减少无用进程:检查所有运行的进程,找出资源占用较的进程并优化它们(例如关闭不必要的应用程序或服务),瘦身服务,减少不必要请求的访问频率。 3. 分析负载:可以使用一些专业的服务器性能监控工具,如Zabbix、Nagios等软件,对系统进行负载分析,找出负载的原因,做出有针对性的调整。 4. 调整进程优先级:Linux系统中,进程可以设置不同的优先级,以确保一些重要进程的运行。可以通过命令"nice"来调整进程优先级。 总之,当Load Average时,及时采取以上措施可以防止系统因过多负载而崩溃,改善服务器运行的稳定性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值