我想用GNU coreutil top的公式來計算CPU使用率的百分比。 但是,頂部正在使用一些half_total來計算百分比,即將百分比加0.5。top命令的CPU使用率計算
在頂部的source的utils.c,以下行(在3.8β1,它是在行號:459): -
*總分++ =(int)的((* diff文件++ * 1000 + half_total)/ total_change);
這意味着: ((* diffs ++ * 1000)/ total_change)+ 1/2 因此,它總是給出一個數字,即:「10倍的百分比,加0.5」。所以如果百分比是x,它將返回10x + 0.5。
任何人都可以解釋這個平均值是如何計算的?或至少有一些指針,我可以得到幫助?
PS: 爲什麼我們不能只用(*diffs++/total_change) * 100
來獲得所需的百分比?
首頁的源代碼位於: - http://downloads.sourceforge.net/unixtop/top-3.8beta1.tar.gz?modtime=1210117842&big_mirror=0
但是「10x」部分呢? – Sabya 2009-02-16 11:27:00