Linux cpu负载和cpu利用率的区别

news/2024/7/6 0:19:46

在Linux系统中,我们一般使用uptime命令查看(w命令和top命令也行)。

一、“load average” 含义:

"load average",它的意思是"系统的平均负荷",里面有三个数字,我们可以从中判断系统负荷是大还是小。它们的意思分别是1分钟、5分钟、15分钟内系统的平均负荷。当CPU完全空闲的时候,平均负荷为0;当CPU工作量饱和的时候,平均负荷为1。那么很显然,"load average"的值越低,比如等于0.2或0.3,就说明电脑的工作量越小,系统负荷比较轻。

CPU负载:显示的是一段时间内正在使用和等待使用CPU的平均任务数。CPU利用率高,并不意味着负载就一定大。举例来说:如果我有一个程序它需要一直使用cpu的运算功能,那么此时cpu的使用率可能达到100%,但是cpu的工作负载则是趋近于“1”,因为cpu仅负责一个工作嘛!如果同时执行这样的程序两个呢?cpu的使用率还是100%,但是工作负载则变成2了。所以也就是说,当cpu的工作负载越大,代表cpu必须要在不同的工作之间进行频繁的工作切换。

二、负载为多少才算比较理想?
这个有争议,各有各的说法,个人比较赞同CPU负载小于等于0.5算是一种理想状态。
不管某个CPU的性能有多好,1秒钟能处理多少任务,我们可以认为它无关紧要,虽然事实并非如此。在评估CPU负载时,我们只以5分钟为单位为统计任务队列长度。如果每隔5分钟统计的时候,发现任务队列长度都是1,那么CPU负载就为1。假如我们只有一个单核的CPU,负载一直为1,意味着没有任务在排队,还不错。
但是我那台服务器,是双核又CPU,等于是有4个内核,每个内核的负载为1的话,总负载为4。这就是说,如果我那台服务器的CPU负载长期保持在4左右,还可以接受。
但是每个内核的负载为1,并不能算是一种理想状态!这意味着我们的CPU一直很忙,不得清闲。网上有说理想的状态是每个内核的负载为0.7左右,我比较赞同,0.7乘以内核数,得出服务器理想的CPU负载,比如我这台服务器,负载在3.0以下就可以。

三、如何来降低服务器的CPU负载?
最简单办法的是更换性能更好的服务器,不要想着仅仅提高CPU的性能,那没有用,CPU要发挥出它最好的性能还需要其它软硬件的配合。
在服务器其它方面配置合理的情况下,CPU数量和CPU核心数(即内核数)都会影响到CPU负载,因为任务最终是要分配到CPU核心去处理的。两块CPU要比一块CPU好,双核要比单核好。
因此,我们需要记住,除去CPU性能上的差异,CPU负载是基于内核数来计算的!有一个说法,“有多少内核,即有多少负载”。

四、cpu利用率的定义
CPU利用率:显示的是程序在运行期间实时占用的CPU百分比;

五、CPU使用率到多少才算比较理想?
CPU利用率在过去常常被我们这些外行认为是判断机器是否已经到了满负荷的一个标准,我看到长时间CPU使用率60-80%就认为机器有瓶颈出现。


 

 


http://www.niftyadmin.cn/n/1621129.html

相关文章

Moby Project

这里写目录标题1. Moby Project1.1. 什么是 Moby Project1. Moby Project https://github.com/moby/mobyhttps://mobyproject.org/projects/ 1.1. 什么是 Moby Project Docker 公司决定将软件产品 “Docker” 和开源项目 “Docker” 区分开来。Moby Project 项目将作为开源项…

React Virtual DOM 理解

React Virtual DOM 一、概念 在react中,对于每个DOM对象都有一个相应的“虚拟DOM对象”,相当于DOM对象的轻量级副本由于是Virtual DOM只是一个副本,具有与真实的DOM对象相同的属性,但是无法直接更改浏览器屏幕上内容的真实功能当直…

一、python 核心语法总结

一、字符串 1、Python的字符串是不可变的(immutable)。改变一个字符串内部的字符是错误的,不允许的。 2、字符串拼接方式:(1)、str1 str2 # 表⽰str1 str1 str2(2)、string.join(…

kubernetes.io

这里写目录标题1. kubernetes.io1.1. 概念1.1.1. DaemonSet1.2. 内置工具1.2.1. kubectl1. kubernetes.io 1.1. 概念 1.1.1. DaemonSet DaemonSet 是一个确保全部或者某些节点上必须运行一个 Pod 的工作负载资源 (守护进程), 当有节点加入集群时, 也会为他们新增一个 Pod。 …

聚能聊每周精选 第十四期

Hello! 各位社区小伙伴们!好久不见!“爱你就像,蓝天白云,晴空万里,突然暴风雨。”接下来,让我们一起回顾一下,本周都有哪些热议的话题?各位聊主与粉丝们又有哪些精彩的互…

Google Voice

这里写目录标题1. Google Voice1. Google Voice Google Voice 是一种网L电话。 Google Voice is a telephone service that provides a U.S. phone number to Google Account customers in the U.S. and Google Works customers in Canada, Denmark, France, the Netherlands…

二、python 函数 必须知道的知识点

一、函数篇 1、闭包必须使用嵌套函数,一看到闭包我首先想到的是 JavaScript 里面的回调函数。闭包这里看似仅仅返回 了一个嵌套函数, 但是需要注意的是,它其实连同嵌套函数的外部环境变量也一同保存返回回来了(例子 中的exponent…

Java7 和Java8 堆(Heap)比较不同之处

堆是JVM内存中最大的一块内存空间,该内存被所有线程共享,几乎所有对象和数组都被分配到了堆内存中。堆被划分为新生代和老年代,新生代又被进一步划分为Eden和Survivor区,最后Survivor由From Survivor和To Survivor组成。 在Java6…