Finding the load average calculated by a Java Agent on a Windows server requires the following data:
- ProcessorQueueLength counts how many threads are ready in the processor queue, but not currently able to use the processor.
- The value of mathematical constant e= 2.718281828459045.
- Load average intervals are:
- 1 minute (60 sec)
- 5 minutes (300 sec)
- 15 minutes (900 sec)
- "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.
- 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)