On Dec 7, 2014, at 11:37 PM, // ravi <[email protected]> wrote:
> 
> On Dec 7, 2014, at 11:06 PM, // ravi <[email protected]> wrote:
>> 
>> 
>> I am stumped by what must clearly be a misreading on my part. Node 0.10 docs 
>> say that each element of os.cpus() contains information about each CPU/core. 
>> This information includes "the number of milliseconds the CPU/core spent in: 
>> user, nice, sys, idle, and irq” (the docs do not say milliseconds of what, 
>> but I assume it means milliseconds since the system was last started). Note 
>> that this used to be, in v0.8 (and I assume before), reported in CPU ticks, 
>> but seems to have switched to milliseconds for v0.10.
>> 
>> Now for the puzzle: say I do this:
>> 
>> console.log(os.cpus()[0].times.idle);
>> setTimeout(function() { console.log(os.cpus()[0].times.idle); }, 2000);
>> 
>> The output I see is:
>> 
>> 39035126800
>> 39035144500
>> 
>> Assuming that ordering of CPUs/cores is consistent in the array returned by 
>> os.cpus(), it’s not clear how to square the above with the docs. The 
>> difference between the times reported is 17700ms i.e., CPU 0 was idle for 17 
>> seconds in the 2 seconds between the two calls!
>> 
> 
> 
> One thing to consider is if os.cpus() returns CPU usage information from 
> /proc/stats. If so, two things could affect the above (more likely the 
> second):
> 
> (1) the first line of /proc/stats in GNU/Linux reports the totals across CPUs.
> (2) these numbers seem to be in “jiffies” or 1/100th of a second (USER_HZ).
> 
> Time to start digging into the ‘os’ module sources, I guess, though I think 
> Ockham’s Razor continues to point at me.
> 


Digging done :-). More info here: https://github.com/joyent/node/issues/8835. 
It’s possible this will need a fix in the ‘os’ module. I have suggested the 
outline of such a fix, if needed, in the Issue.

        —ravi


-- 
Job board: http://jobs.nodejs.org/
New group rules: 
https://gist.github.com/othiym23/9886289#file-moderation-policy-md
Old group rules: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
--- 
You received this message because you are subscribed to the Google Groups 
"nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/nodejs/90D54FAC-3753-4813-ABFA-DB17A3D6981E%40g8o.net.
For more options, visit https://groups.google.com/d/optout.

Reply via email to