当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 13 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 如何理解双核四线程CPU中的这个7.x的Load average?
帖子发表于 : 2016-04-16 14:54 
头像

注册: 2014-02-07 17:31
帖子: 453
系统: Xubuntu 14.04.5 64位
送出感谢: 40
接收感谢: 33
我笔记本里的CPU长时间处于满负载后所查看到的load average情况如下(直接在内存中运行了一个非网络应用,它需要大量的CPU资源,但运行中不涉及磁盘的IO,同时剩余的物理内存非常充裕)
代码:
load average: 7.53, 7.35, 7.22


所用操作系统:Xubuntu 14.04.4 LTS 64-bit

CPU是双核心四线程的
代码:
kashu:~$ egrep '(processor|cpu cores)' /proc/cpuinfo | sort
cpu cores   : 2
cpu cores   : 2
cpu cores   : 2
cpu cores   : 2
processor   : 0
processor   : 1
processor   : 2
processor   : 3



我觉得这篇文章对Load Average解释得很好(同时也间接说明了为什么有人说看到load为几千的情况):
http://www.blogjava.net/cenwenchu/archive/2008/06/30/211712.html

以前也看过这篇文章,但我个人感觉解释得并不太深入。引用该文章底下别人的回复:
http://www.ruanyifeng.com/blog/2011/07/ ... ained.html
引用:
曾经见到过load为几千,因为硬盘的IO卡住了。


_________________


OS: Xubuntu 14.04.5 LTS 64-bit
CPU: Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz
RAM: 12GB DDR3 1333MHz
128GB SSD + 2TB HDD
神舟优雅A480B-I5B 购于 2012.08

YouTube频道:https://www.youtube.com/channel/UCGSPXZ7DbSc8QDuDYX8L6Qg


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 如何理解双核四线程CPU中的这个7.x的Load average?
帖子发表于 : 2016-04-16 18:24 

注册: 2011-02-14 17:46
帖子: 907
送出感谢: 3
接收感谢: 124
解释avg load为什么要这么长?
每个running或runnable状态的进程(文档用语state R)给load数值增加1,在linux中,uninterruptible sleep状态的进程(state D,通常是在等待IO)也会增加一点
至于阮一峰那篇,大概是因为他不懂


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 如何理解双核四线程CPU中的这个7.x的Load average?
帖子发表于 : 2016-04-16 18:52 
头像

注册: 2014-02-07 17:31
帖子: 453
系统: Xubuntu 14.04.5 64位
送出感谢: 40
接收感谢: 33
@rosynirvana 我没看懂你的意思
我感觉用你那句话好像解释不通我这里的Load Average 7.x,用top工具查看时,我只有一个进程在running。


_________________


OS: Xubuntu 14.04.5 LTS 64-bit
CPU: Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz
RAM: 12GB DDR3 1333MHz
128GB SSD + 2TB HDD
神舟优雅A480B-I5B 购于 2012.08

YouTube频道:https://www.youtube.com/channel/UCGSPXZ7DbSc8QDuDYX8L6Qg


最后由 kashu 编辑于 2016-04-17 11:36,总共编辑了 1 次

页首
 用户资料  
 
4 楼 
 文章标题 : Re: 如何理解双核四线程CPU中的这个7.x的Load average?
帖子发表于 : 2016-04-16 19:27 

注册: 2011-02-14 17:46
帖子: 907
送出感谢: 3
接收感谢: 124
kashu 写道:
@rosynirvana 我没看懂你的意思
我感觉用你那句话好像解释不通我这里的Load Average 7.x,用top工具查看时,我只有一个进程在running。

原始内容可能是阮一峰参考外文翻译过来的。在网上(国内、外)看到有很多和这篇博文基本类似的(比他发布时间更早)。

不只是running啊,请仔细读上面那句,包括running, runnable(可以运行但是在等待CPU)和uninterrupted sleep(等待资源可用或超时)三个状态的进程


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 如何理解双核四线程CPU中的这个7.x的Load average?
帖子发表于 : 2016-04-16 19:44 
头像

注册: 2014-02-07 17:31
帖子: 453
系统: Xubuntu 14.04.5 64位
送出感谢: 40
接收感谢: 33
rosynirvana 写道:
不只是running啊,请仔细读上面那句,包括running, runnable(可以运行但是在等待CPU)和uninterrupted sleep(等待资源可用或超时)三个状态的进程

嗯,在top里面看 S 那一列,只有状态为 R 和 S 的进程,没有其它状态标志的进程。


_________________


OS: Xubuntu 14.04.5 LTS 64-bit
CPU: Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz
RAM: 12GB DDR3 1333MHz
128GB SSD + 2TB HDD
神舟优雅A480B-I5B 购于 2012.08

YouTube频道:https://www.youtube.com/channel/UCGSPXZ7DbSc8QDuDYX8L6Qg


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 如何理解双核四线程CPU中的这个7.x的Load average?
帖子发表于 : 2016-04-16 19:56 

注册: 2011-02-14 17:46
帖子: 907
送出感谢: 3
接收感谢: 124
我觉得您只看了部分进程的state


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 如何理解双核四线程CPU中的这个7.x的Load average?
帖子发表于 : 2016-04-16 20:00 
头像

注册: 2014-02-07 17:31
帖子: 453
系统: Xubuntu 14.04.5 64位
送出感谢: 40
接收感谢: 33
rosynirvana 写道:
我觉得您只看了部分进程的state

我确定用top命令是看全了的。


_________________


OS: Xubuntu 14.04.5 LTS 64-bit
CPU: Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz
RAM: 12GB DDR3 1333MHz
128GB SSD + 2TB HDD
神舟优雅A480B-I5B 购于 2012.08

YouTube频道:https://www.youtube.com/channel/UCGSPXZ7DbSc8QDuDYX8L6Qg


最后由 kashu 编辑于 2016-04-17 11:32,总共编辑了 1 次

页首
 用户资料  
 
8 楼 
 文章标题 : Re: 如何理解双核四线程CPU中的这个7.x的Load average?
帖子发表于 : 2016-04-16 20:04 

注册: 2011-02-14 17:46
帖子: 907
送出感谢: 3
接收感谢: 124
那我问下,您是用batch mode看的,还是sort by S Reverse order看的?


页首
 用户资料  
 
9 楼 
 文章标题 : Re: 如何理解双核四线程CPU中的这个7.x的Load average?
帖子发表于 : 2016-04-16 20:14 
头像

注册: 2014-02-07 17:31
帖子: 453
系统: Xubuntu 14.04.5 64位
送出感谢: 40
接收感谢: 33
rosynirvana 写道:
那我问下,您是用batch mode看的,还是sort by S Reverse order看的?

我是用top直接看,然后在top里面使用「shift + >」定位到S状态这一列,并按d,输入1,让它每1秒更新一次,然后使用「Shift + r」进行正向、反向排序反复查看,并且使用Page up、Page Down、Home、End进行翻页查看,所以我确定用top是看全了的,只看到了R和S状态的进程。
我用batch模式top -b1n10 | less查看也一样。


_________________


OS: Xubuntu 14.04.5 LTS 64-bit
CPU: Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz
RAM: 12GB DDR3 1333MHz
128GB SSD + 2TB HDD
神舟优雅A480B-I5B 购于 2012.08

YouTube频道:https://www.youtube.com/channel/UCGSPXZ7DbSc8QDuDYX8L6Qg


最后由 kashu 编辑于 2016-04-17 11:33,总共编辑了 2 次

页首
 用户资料  
 
10 楼 
 文章标题 : Re: 如何理解双核四线程CPU中的这个7.x的Load average?
帖子发表于 : 2016-04-16 20:21 

注册: 2011-02-14 17:46
帖子: 907
送出感谢: 3
接收感谢: 124
然后您看了多长时间?自始至终上面的running只有1?
始终是1 running一般只会出现在闲置的linux vps上,desktop linux几乎是不可能的
另外您把那个很吃CPU的程序开起来了吗


页首
 用户资料  
 
11 楼 
 文章标题 : Re: 如何理解双核四线程CPU中的这个7.x的Load average?
帖子发表于 : 2016-04-16 20:30 
头像

注册: 2014-02-07 17:31
帖子: 453
系统: Xubuntu 14.04.5 64位
送出感谢: 40
接收感谢: 33
rosynirvana 写道:
然后您看了多长时间?自始至终上面的running只有1?
始终是1 running一般只会出现在闲置的linux vps上,desktop linux几乎是不可能的
另外您把那个很吃CPU的程序开起来了吗


我开了一个很吃CPU的程序,看着top几分钟,基本只有一个top是R的状态,有时出来的状态为R的但并不是吃CPU的那个程序,是别的(下图是当我以S这一列排序时查看到的)
(下图是当我以%CPU这一列排序时查看到的)
(下图是当我以S这一列排序时查看到的)

但我觉得rosynirvana您对Load average的这种计算是不对的。


_________________


OS: Xubuntu 14.04.5 LTS 64-bit
CPU: Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz
RAM: 12GB DDR3 1333MHz
128GB SSD + 2TB HDD
神舟优雅A480B-I5B 购于 2012.08

YouTube频道:https://www.youtube.com/channel/UCGSPXZ7DbSc8QDuDYX8L6Qg


最后由 kashu 编辑于 2016-04-17 11:34,总共编辑了 3 次

页首
 用户资料  
 
12 楼 
 文章标题 : Re: 如何理解双核四线程CPU中的这个7.x的Load average?
帖子发表于 : 2016-04-16 22:40 

注册: 2011-02-14 17:46
帖子: 907
送出感谢: 3
接收感谢: 124
这可不是我对Load average的计算,如果您需要原文
man proc
引用:
/proc/loadavg
The first three fields in this file are load average figures
giving the number of jobs in the run queue (state R) or waiting
for disk I/O (state D) averaged over 1, 5, and 15 minutes.


这问题真的很简单,您在avg load 7的时候没看top中显示的数据,那也无法验证那段时间running process大概有多少了
但您刚才实验了一段时间的top,大概知道那段时间内有几个running process,为什么不看看这时候的avg load是多少呢,和简单观察到的avg load是否一致呢



_________________
评价: 3.7% kashu
 
页首
 用户资料  
 
13 楼 
 文章标题 : Re: 如何理解双核四线程CPU中的这个7.x的Load average?
帖子发表于 : 2016-04-17 1:02 
头像

注册: 2014-02-07 17:31
帖子: 453
系统: Xubuntu 14.04.5 64位
送出感谢: 40
接收感谢: 33
rosynirvana 写道:
The first three fields in this file are load average figures giving the number of jobs in the run queue (state R) or waiting for disk I/O (state D) averaged over 1, 5, and 15 minutes.

谢谢,我看到这句话了。

这一句话顶了网上好多关于load average的文章。我觉得这句话最具有可操作性,根据这句话在系统里能看到一些实在的东西。
附件:
1 (1).png
1 (1).png [ 75.05 KiB | 被浏览 1127 次 ]



_________________


OS: Xubuntu 14.04.5 LTS 64-bit
CPU: Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz
RAM: 12GB DDR3 1333MHz
128GB SSD + 2TB HDD
神舟优雅A480B-I5B 购于 2012.08

YouTube频道:https://www.youtube.com/channel/UCGSPXZ7DbSc8QDuDYX8L6Qg


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 13 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 0 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译