iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >详解Linux CPU负载和CPU使用率
  • 623
分享到

详解Linux CPU负载和CPU使用率

LinuxCPU负载CPU使用率 2022-06-04 22:06:46 623人浏览 薄情痞子
摘要

CPU负载和 CPU使用率 这两个从一定程度上都可以反映一台机器的繁忙程度. cpu使用率反映的是当前cpu的繁忙程度,忽高忽低的原因在于占用cpu处理时间的进程可能处于io等待状态但却还未释放进入wait。 平均负载(

CPU负载和 CPU使用率

这两个从一定程度上都可以反映一台机器的繁忙程度.

cpu使用率反映的是当前cpu的繁忙程度,忽高忽低的原因在于占用cpu处理时间的进程可能处于io等待状态但却还未释放进入wait。

平均负载(load average)是指某段时间内占用cpu时间的进程和等待cpu时间的进程数,这里等待cpu时间的进程是指等待被唤醒的进程,不包括处于wait状态进程。

以上分析可以看出,一台机器很有可能处于低cpu使用率高负载的情况,因此看机器的繁忙程度应该结合两者,从实际的使用情况观察,自己的一台双核志强2.8GHZ,2G内存的机器在平均负载到50左右,cpu使用率才接近100%(应用有不少io操作),这种情况下应用还算流畅,实际访问延迟不是很高。因此在cpu还空闲的情况下,如何提高io响应是减少负载的关键,很多人认为负载到几十了机器就非常繁忙了,我倒觉得如果这个时候cpu使用率比较低,则负载高可能不能很好说明问题,一旦cpu处理的进程处理完后,那些等待的进程也能立刻得到响应,这种情况下应该优化io读写速度。真到cpu使用率一直90%以上,即使平均负载只有个位数(比如某一个进程一直在运算),那机器其实也已经繁忙了~

其实,在前面的文章中,也有写到cpu使用率低负载高,原因分析 cpu使用率低,但是load很高,load很高的可能是IO

CPU负载的一个类比

判断系统负荷是否过重,必须理解load average的真正含义。下面,我根据"Understanding linux CPU Load"这篇文章,尝试用最通俗的语言,解释这个问题。
首先,假设最简单的情况,你的电脑只有一个CPU,所有的运算都必须由这个CPU来完成。
那么,我们不妨把这个CPU想象成一座大桥,桥上只有一根车道,所有车辆都必须从这根车道上通过。(很显然,这座桥只能单向通行。)
系统负荷为0,意味着大桥上一辆车也没有。

系统负荷为0.5,意味着大桥一半的路段有车。

系统负荷为1.0,意味着大桥的所有路段都有车,也就是说大桥已经"满"了。但是必须注意的是,直到此时大桥还是能顺畅通行的。

系统负荷为1.7,意味着车辆太多了,大桥已经被占满了(100%),后面等着上桥的车辆为桥面车辆的70%。以此类推,系统负荷2.0,意味着等待上桥的车辆与桥面的车辆一样多;系统负荷3.0,意味着等待上桥的车辆是桥面车辆的2倍。总之,当系统负荷大于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是一个关键值,超过这个值,系统就不在最佳状态了,你要动手干预了。

CPU负载-多处理器

上面,我们假设你的电脑只有1个CPU。如果你的电脑装了2个CPU,会发生什么情况呢?
2个CPU,意味着电脑的处理能力翻了一倍,能够同时处理的进程数量也翻了一倍。
还是用大桥来类比,两个CPU就意味着大桥有两根车道了,通车能力翻倍了。

所以,2个CPU表明系统负荷可以达到2.0,此时每个CPU都达到100%的工作量。推广开来,n个CPU的电脑,可接受的系统负荷最大为n.0。

CPU负载-多核处理器

芯片厂商往往在一个CPU内部,包含多个CPU核心,这被称为多核CPU。
在系统负荷方面,多核CPU与多CPU效果类似,所以考虑系统负荷的时候,必须考虑这台电脑有几个CPU、每个CPU有几个核心。然后,把系统负荷除以总的核心数,只要每个核心的负荷不超过1.0,就表明电脑正常运行。
怎么知道电脑有多少个CPU核心呢?
"cat /proc/cpuinfo"命令,可以查看CPU信息。"grep -c 'model name' /proc/cpuinfo"命令,直接返回CPU的总核心数。

系统负荷的经验法则

1.0是系统负荷的理想值吗?

不一定,系统管理员往往会留一点余地,当这个值达到0.7,就应当引起注意了。经验法则是这样的:

  • 当系统负荷持续大于0.7,你必须开始调查了,问题出在哪里,防止情况恶化。
  • 当系统负荷持续大于1.0,你必须动手寻找解决办法,把这个值降下来。
  • 当系统负荷达到5.0,就表明你的系统有很严重的问题,长时间没有响应,或者接近死机了。你不应该让系统达到这个值。

对于我的机器,有24个core,那么,load多少合适呢?

[root@jiangyi01.sqa.zmf /home/ahao.mah/ALiOS_QA]#grep 'model name' /proc/cpuinfo | wc -l24

答案是:

[root@jiangyi01.sqa.zmf /home/ahao.mah/ALIOS_QA]#echo "0.7*24" |bc16.8

最佳观察时长

最后一个问题,"load average"一共返回三个平均值----1分钟系统负荷、5分钟系统负荷,15分钟系统负荷,----应该参考哪个值?

如果只有1分钟的系统负荷大于1.0,其他两个时间段都小于1.0,这表明只是暂时现象,问题不大。

如果15分钟内,平均系统负荷大于1.0(调整CPU核心数之后),表明问题持续存在,不是暂时现象。所以,你应该主要观察"15分钟系统负荷",将它作为电脑正常运行的指标。

--结束END--

本文标题: 详解Linux CPU负载和CPU使用率

本文链接: https://www.lsjlt.com/news/20455.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • PostgreSQL DBA(88) - Linux(CPU使用率 vs 平均负载)
    Linux已成为事实上企业级服务器...
    99+
    2024-04-02
  • Linux下CPU使用率与机器负载有什么关系
    本篇内容主要讲解“Linux下CPU使用率与机器负载有什么关系”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux下CPU使用率与机器负载有什么关系”吧!当我们使用top命令查看系统的资源使...
    99+
    2023-06-16
  • CPU使用率低高负载的原因是什么
    CPU使用率低高负载的原因是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。原因总结产生的原因一句话总结就是:等待磁盘I/O完成的进程过多,导致进程队列长度过大,但是cpu运...
    99+
    2023-06-19
  • linux里的CPU负载是什么
    这篇文章主要讲解了“linux里的CPU负载是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux里的CPU负载是什么”吧!查看Nagios警报信息,发现其中一台服务器CPU负载过重...
    99+
    2023-06-26
  • linux如何查看cpu负载均衡
    linux中查看cpu负载均衡的方法:1、使用快捷键【Ctrl+Alt+T】打开linux终端;2、在linux终端中使用“#vmstat”命令查看cpu负载均衡即可。具体内容如下:在linux中使用#vmstat命令查看即可。参数说明pr...
    99+
    2024-04-02
  • Linux如何查看CPU使用率
    在Linux中,可以使用以下命令来查看CPU使用率:1. top命令:在终端中输入`top`命令,然后按下`1`键可以显示每个CPU...
    99+
    2023-08-08
    Linux
  • linux怎么计算cpu使用率
    在Linux系统中,可以使用命令行工具来计算CPU的使用率。1. 使用top命令:打开终端,输入top命令,然后按下“1”键,可以显...
    99+
    2023-08-30
    linux
  • 电脑cpu负载过高如何解决
    这篇文章主要介绍“电脑cpu负载过高如何解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“电脑cpu负载过高如何解决”文章能帮助大家解决问题。电脑cpu负载过高解决方法:一、软件 我们打开软件、文件...
    99+
    2023-07-02
  • 如何在Linux中监控CPU温度、频率、功率和使用率
    这篇文章主要为大家展示了“如何在Linux中监控CPU温度、频率、功率和使用率”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何在Linux中监控CPU温度、频率、功率和使用率”这篇文章吧。s-...
    99+
    2023-06-16
  • win7 cpu使用率100如何解决
    本文小编为大家详细介绍“win7 cpu使用率100如何解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“win7 cpu使用率100如何解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。win7cpu使用率1...
    99+
    2023-07-02
  • windows CPU使用率高如何解决
    本篇内容主要讲解“windows CPU使用率高如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“windows CPU使用率高如何解决”吧!CPU使用率高的解决方法原因一 硬件方...
    99+
    2023-07-01
  • Linux CentOs7 监控CPU 内存 硬盘IO读写,网络负载,CPU温度等
    一般我们都知道TOP命令可以加载服务器的负载详情,但界面不太友好。因此用到htop 我们开发的软件服务需要在服务器上运行,所以服务器性能代表了软件的性能上限,因此服务器性能调优是个十分重要的环节,然而大部分同学对服务器性能调优关注的较少,...
    99+
    2023-09-09
    运维
  • Shell脚本监控Linux系统CPU使用率
    通过top或者htop命令。可以看到每一个cpu核心的使用情况,但是服务器的整体cpu使用情况,就无法直观的看到。需要通过shell脚本才能实现。 cpu_ck.sh#/bin/bash #environment var...
    99+
    2023-01-31
    使用率 脚本 系统
  • Linux怎么降低cpu占用率
    要降低Linux系统的CPU占用率,可以尝试以下几种方法:1. 使用优化的内核:升级或安装适合你的系统的最新内核版本,新版本的内核可...
    99+
    2023-08-30
    Linux
  • cpu使用率100怎么办
    当CPU使用率达到100%时,表示CPU正在全力运行,无法再处理其他任务。以下是一些可能的解决方法:1. 关闭或退出一些正在运行的程...
    99+
    2023-08-24
    cpu
  • win7的cpu使用率高如何解决
    这篇文章主要介绍“win7的cpu使用率高如何解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“win7的cpu使用率高如何解决”文章能帮助大家解决问题。解决方法:...
    99+
    2022-12-08
    win7
  • 电脑cpu使用率100%如何解决
    当电脑的CPU使用率达到100%,可能会导致电脑变慢、发热、噪音变大等问题。以下是一些解决方法:1. 关闭不必要的程序:打开任务管理...
    99+
    2023-10-10
    电脑
  • 电脑CPU使用率低如何解决
    如果您的电脑CPU使用率低,可能是由于以下原因:1. 配置不足:如果您的电脑配置较低,例如CPU型号较老旧或核心数量不足,可能会导致...
    99+
    2023-08-25
    电脑
  • centos怎么查看cpu使用率
    centos中查看cpu使用率的方法:1、打开centos终端;2、在命令行中输入“top”命令查看cpu使用率即可。具体操作步骤:在centos系统桌面中使用快捷键【Ctrl+Alt+T】打开终端命令行模式。在centos终端命令行中输入...
    99+
    2024-04-02
  • 电脑cpu使用率过高如何解决
    高CPU使用率可能是由于以下原因引起的:1. 病毒或恶意软件:运行一个病毒扫描程序来检测和清除任何可能感染计算机的恶意软件。2. 后...
    99+
    2023-08-23
    电脑
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作