选择linux负载计算的权重如何?
在
Linux中,负载平均值为1分钟/ 5分钟/ 15分钟.内核使用的公式实际上是指数移动平均线.
如果我们将cpuload(1)定义为cpu负载1min的第一次计算,并且将()作为返回系统状态“运行”或“可运行”中的进程数的函数,则内核使用的公式计算第n个cpu负载1min是: cpuload(0)为0;它是在第一次执行cpuload()之前存储在内存中的值. 我的问题是,如何选择权重2-5.log2(e)/ 60?在我看来,2-5 / 60将会更好,因为1分钟将是进程数的半衰期(因为(2-5 / 60)12 = 1/2). 如果我发布cpuload(n)的显式公式,除了上面的递归定义(右键单击以查看它的全尺寸)也是有帮助的: 解决方法
考虑特定的负载样本活动(K),以及多少该样本对cpuload(K d)贡献,以增加d的值.有几个关键的观察:
>活动(K)乘以一些权重W(d)以确定其对cpuload(K d)的贡献. 这些点意味着有一些dmin使得对于d> dmin,活动(K)W(d)= 0并且因此活动(K)对cpu负载(K d)没有影响.简而言之,cpuload(n)仅受前面样本dmin的影响. 另一种看待这种情况的方法是,cpuload(n)在一段时间定义之后忘记数据 >衰减指数,定义dmin,和 这个最终解释给出了1分钟,5分钟和15分钟负载平均值的含义.选择衰减和采样间隔,使得这些负载平均值分别在1,5和15分钟之后忘记过去. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |