关于StackOverflow的第一篇文章。我想知道htop如何计算达尔文(MacOSX)的CPU使用率。
我遍历了源代码,这就是我从中推论得出的:
计算所有内核上的总CPU负载(否则称为GlobalDiff)
全局差异=时间T2时所有内核和CPU状态的CPU总负载-时间T1时所有内核和CPU状态的CPU总负载
CPU状态= 用户时间,系统时间,尼斯时间和空闲时间。 我的机器的核心= 0-7
由于此值Global Diff是整个系统的TOTAL值,因此我们需要获取每个内核的CPU使用率,可以通过以下公式获得该值:
PerCore CPU Total Load = GlobalDiff / NoOfCores.
差异增量=(UserTime2 + SystemTime2)-(UserTime1 + SystemTime1)
CPU % = DeltaDiff / PerCoreCPU Total Load
=> CPU % (unscaled) = (DeltaDiff * NoOfCores)/(PerCoreCPU Total Load)
最后:
CPU%(缩放到100%)= CPU%(未缩放)/ 100000.0
任何人都可以告诉我上述声明的重要性。是否将未缩放的CPU%除以(TH_USAGE_SCALE * 100)。 我已经搜索了一段时间,但找不到关于重要性TH_USAGE_SCALE的文档。
https://github.com/hishamhm/htop/blob/master/darwin/DarwinProcess.c
这是我获得大部分代码的地方。请告知。
谢谢。