CPU usage data for application monitoring is different than CPU usage data for server monitoring.
This is why you may see your app’s CPU usage over 100%.
Here is an example of server monitoring and application monitoring CPU usage results for the same application on the same servers.
This shows CPU usage by server (Servers menu list) and application (Applications > (selected app) > Monitoring > Overview).
To view your application’s CPU usage: From the New Relic menu bar, select Applications > (selected app) > Monitoring > Overview. The number of instances is listed by server under each server name in the Applications dashboard.
Applications > (selected app) > Monitoring > Overview: CPU usage data appears in the app's associated Servers table.
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.
To view your individual server CPU usage:
From the Servers menu, you can view and sort the list of all servers, or select a server to view individual CPU usage details.
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)
Additional documentation resources include:
If you need additional help, get support at support.newrelic.com.