You see a discrepancy in CPU usage data between server and application monitoring or your application's CPU usage is more than 100%.
CPU usage data for application monitoring is different than CPU usage data for server monitoring.
- The application monitor's CPU percentage measures aggregate CPU usage of all instances of an application or service on a given server.
- The server monitor's CPU percentage measures average CPU usage of all CPUs on a given server.
See the following CPU usage example and application or server monitoring sections for more information.
- Example of CPU usage
Here is an example of server monitoring and application monitoring CPU usage results for the same application on the same servers.screen
- Application monitoring
To view your application’s CPU usage: From the New Relic menu bar, select APM > (selected app) > Monitoring > Overview. The number of instances is listed by server under each server name in the Applications dashboard.
The application monitor's CPU percentage measures aggregate CPU usage of all instances of an application or service on a given server. This percentage is affected by the number of instances running across cores on the server. Multiple instances of a service running on one server or in a multi-core server environment can produce CPU usage percentages well above 100%.
New Relic bases the percentage on aggregate CPU time divided by clock time:
CPU usage = (instance + instance + instance + instance) / time
Example: If you upgrade from a dual processor to a quad processor under the same server architecture, you should see roughly the same CPU numbers for the same loads and applications. If New Relic normalized the calculation, the upgrade would appear to produce an abrupt decrease in your CPU usage, even if the number of cycles you are using would be the same. Adding more instances does not make your code more efficient.
- Server monitoring
To view your individual server CPU usage:
- From the New Relic menu bar, select Servers.
- Optional: To sort the servers list by highest or lowest CPU usage, select the CPU column heading.
- To drill down into detailed CPU usage information, select the individual server.
The server monitor's CPU percentage measures average CPU usage of all CPUs on a given server. New Relic's server monitor generates a normalized metric based on the averaged percentage of time when your CPU is busy. This means that adding cores to that server will cause the available CPU capacity to increase.
CPU usage = (CPU + CPU + CPU + CPU) / (time * number of CPUs)
For more help
Additional documentation resources include: