欧卡2中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

需要三步,才能开始

只需两步,慢速开始

欧卡2入门方向盘选莱仕达V9莱仕达折叠便携游戏方向盘支架欢迎地图Mod入驻
查看: 6079|回复: 0
收起左侧

[开源] Load average计算

[复制链接]
oppo 发表于 2015-9-11 14:10 | 显示全部楼层 |阅读模式
的工作内容是守机器,于是比较闲,有时间就折腾些自己感兴趣的东西。经常需要用top查看系统性能,对于输出结果中右上角的那几个数据到底是什么含义,一直没有去了解。昨天心血来潮,于是四处查找load average到底是什么。
google了一番,发现一篇讲load average的文章,看来load average真的不简单!


load average是什么?
通过top命令可以查看系统的load average,它显示的是系统在1分钟,5分钟,15分钟之内的load情况。
通 俗的说,load是指run-queue length (i.e., the sum of the number ofprocesses waiting in the run-queue plus the number currentlyexecuting).
专业一点说,A exponentially-damped time-dependent average
load average怎么计算?
这其中涉及到不少数学知识,发了我一个晚上才了解个大概。唉,数学差啊
为 了使内核可以高效计算load average,采用了fixed-point arithmetic。fixed-point arithmetic是一种非常快速的模拟浮点运算的方法,特别是在没有FPU(float point unit)部件的处理器上,非常有用。
计算公式:load(t) = load(t-1) e^(-5/60) + n (1 - e^(-5/60)),迭代计算,其中n为run-queue length。
为什么采用这个计算公式呢?
由Exponential Smoothing方程有,Y(t)= Y(t-1) + a*[X(t) - Y(t-1)],whereX(t) is the input raw data, Y(t - 1) is the value due to the previoussmoothing iteration and Y(t) is the new smoothed value.这个公式就当作公理吧,不要问我为什么,我也不知道。
令a=1-b,b为e^(-5/60),就可以得到load average的计算公式
采用此公式的好处:局部的load抖动不会对load average造成重大影响,使其平滑。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系我们|手机版|欧卡2中国 ( 湘ICP备11020288号-1 )

GMT+8, 2024-11-25 11:32 , Processed in 0.033011 second(s), 9 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表