BUG: /usr/bin/uptime always reports 0/0/0 average

Eliot Moss moss@cs.umass.edu
Tue Aug 27 16:29:57 GMT 2024


On 8/27/2024 11:31 AM, Jon Turney via Cygwin wrote:
> On 27/08/2024 09:21, Mark Liam Brown via Cygwin wrote:
>> Greetings!
>>
>> /usr/bin/uptime always reports 0/0/0 average cpu load:
>> $ uptime
>>   10:09:01 up 15:59,  0 user,  load average: 0.00, 0.00, 0.00
>>
>> is this a known bug?
> 
> Kind of.
> 
> Due to windows API limitations, the current implementation has the short-coming that a process's first call to 
> getloadavg() does not update the globally-maintained loadavg data.
> 
> (Because the Windows API cannot provide instantaneous cpu load, only over the period between two calls)
> 
> (So e.g. if you run something like top in another terminal, you'll suddenly see uptime return more sensible values)
> 
> See the discussion [1] for more context, and discussion of various approaches to fixing this, which petered out without 
> a patch to [2]...
> 
> [1] https://cygwin.com/pipermail/cygwin-developers/2022-May/012569.html
> [2] https://cygwin.com/cgit/newlib-cygwin/tree/winsup/cygwin/loadavg.cc

Thank you for the explanation, Mark!

I see that /proc/loadavg appears to get updated.  If one wants the information,
is that a more reliable source than calling uptime for load averages?

Best - Eliot



More information about the Cygwin mailing list