Sto cercando di utilizzare la formula di GNU coreutil top per calcolare gli utilizzi della CPU in percentuale. Ma la parte superiore sta usando alcuni mezzi mezzi, per calcolare la percentuale, che aggiunge 0,5 alla percentuale.Calcolo dell'utilizzo della CPU del comando superiore
In utils.c di top source, la seguente riga (a 3.8 beta1, è in numero di riga: 459): -
* fuori ++ = (int) ((* diff ++ * 1000 + half_total)/total_change);
Questo si traduce in: ((* diff ++ * 1000)/total_change) + 1/2 Quindi, dà sempre un numero, che è: "10 volte la percentuale, più 0.5". Quindi se la percentuale è x, restituirà 10x + 0,5.
Qualcuno può spiegare come viene calcolata questa media? o almeno qualche puntatore dove posso ottenere l'aiuto?
PS: Perché non possiamo usare solo (*diffs++/total_change) * 100
per ottenere la percentuale richiesta?
codice sorgente Top si trova a: - http://downloads.sourceforge.net/unixtop/top-3.8beta1.tar.gz?modtime=1210117842&big_mirror=0
ma per quanto riguarda la parte "10x"? – Sabya
Poiché il valore è in decimi di punto percentuale. – starblue