jmx-dev RFR: 8351359: OperatingSystemMXBean: values from getCpuLoad and getProcessCpuLoad are stale after 24.8 days (Windows) [v2]
Kevin Walls
kevinw at openjdk.org
Thu May 8 13:20:57 UTC 2025
On Wed, 7 May 2025 11:25:32 GMT, Kevin Walls <kevinw at openjdk.org> wrote:
>> OperatingSystemImpl.c on Windows is limited by its use of clock(), which hits its limit with longer process uptimes.
>>
>> https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference/clock?view=msvc-170
>> "maximum clock function return value of 2147483.647 seconds, or about 24.8 days"
>>
>> The linked alternative, time(), gives 64-bit time but only seconds. In the example code for time(), there is use of _ftime() to retrieve milliseconds.
>>
>> Update: GetTickCount64() is a better alternative.
>
> Kevin Walls has updated the pull request incrementally with one additional commit since the last revision:
>
> Use GetTickCount64
Thanks Alex, and Serguei!
-------------
PR Comment: https://git.openjdk.org/jdk/pull/25062#issuecomment-2863032652
More information about the jmx-dev
mailing list