当前位置: 代码迷 >> 综合 >> load average
  详细解决方案

load average

热度:76   发布时间:2023-12-17 06:23:17.0

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造成重大影响,使其平滑。
  
  相关解决方案