Knowledge Base

Showing results for 
Search instead for 
Did you mean: 

How is 'Load Average' calculated by Java Machine Agent installed on Windows server?

Finding the load average calculated by a Java Agent on a Windows server requires the following data:


  1. ProcessorQueueLength counts how many threads are ready in the processor queue, but not currently able to use the processor.
    • To find this value, launch PowerShell and run the following command:
    • Get-WmiObject -Query "Select * from Win32_PerfRawData_PerfOS_System" | findstr ProcessorQueueLength
  2. The value of mathematical constant e= 2.718281828459045.
  3. Load average intervals are:
    • 1 minute  (60 sec)
    • 5 minutes (300 sec)
    • 15 minutes (900 sec)
  4. "Sample frequency" is the frequency with which the samples are collected for each interval.
    • Example: In 1 minute, 2 samples were collected. In 5 minutes, 10 samples were collected. Sample frequency is 30 seconds (default).
    • This can be set in the <machine_agent_home>/extensions/ServerMonitoring/conf/ServerMonitoring.yml file by changing the "sampling interval" property.
  5. Load average is set at 0 before computing. Then for each sample collected at the sampling frequency, the load average is calculated as an exponentially-damped moving average. The data points are added into the load average results for each sample.


exp = e power -(sampleFrequency/interval)

loadAverage = loadAverage * exp
loadAverage = loadAverage + ProcessorQueueLength*(1-exp)



Version history
Revision #:
5 of 5
Last update:
‎03-01-2019 10:39 AM
Updated by:
Labels (1)

Found this article helpful? Click the Thumbs Up button.
Have an additional comment? Post it below.
0 Kudos