AppDynamics Knowledge Base

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

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)​


Labels (1)
Version history
Last update:
‎05-31-2017 04:12 PM
Updated by: