服务器 Gind.cn

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

如何根据SNMP中的原始CPU滴答来计算CPU百分比

根据http://net-snmp.sourceforge.net/docs/mibs/ucdavis.html#scalar_notcurrent ssCpuUser , ssCpuSystem , ssCpuIdle等不赞成使用原始变体( ssCpuRawUser等)。 前者的值(不包括nice,wait,kernel,interrupt等等)返回一个百分比值: 在最后一分钟计算的用于处理用户级代码的CPU时间百分比。 此对象已被弃用,以支持' ssCpuRawUser(50) ',可用于计算相同的指标,但超过任何所需的时间段。 原始值返回CPU花费的“原始”滴答数量: 处理用户级代码花费的时间(通常为1 / 100s)。 在多处理器系统中,' ssCpuRaw* '计数器在所有CPU上累计,所以它们的总和通常是N * 100(对于N个处理器)。 我的问题是:你如何把蜱的数量变成百分比? 也就是说,你怎么知道每秒钟有多less个嘀嗒声( 通常是 – 这意味着不总是 – 1 / 100s,这意味着每100秒钟1次,或者嘀嗒声代表1/100秒钟)。 我想你也需要知道有多less个CPU, 或者你需要获取所有CPU值来将它们加在一起。 我似乎无法find一个MIB给你一个CPU的整数值,这使得以前的路线尴尬。 后者的路线似乎不可靠,因为有些数字有时会重叠。 例如, ssCpuRawWait有以下警告: 此对象不会在底层操作系统不测量此特定CPU度量标准的主机上实施。 这个时间也可以包含在' ssCpuRawSystem(52) '计数器中。 一些帮助,将不胜感激。 到处似乎只是说%已被弃用,因为它可以派生,但我没有find任何地方,显示官方标准的方式来执行此推导。 第二部分是这些“蜱”似乎是累积的,而不是一段时间。 如何在一段时间内采样值? 我想要的最终信息是:“用户,系统,闲置,漂亮(理想情况下,窃取,尽pipe目前似乎没有标准的MIB)”的百分比(在过去的1-60s可能就足够了,偏好较小的时间跨度)。