CPU usage over 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.

This is why you may see your app’s CPU usage over 100%.

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.

CPU usage by server and by application
This shows CPU usage by server (Servers menu list) and application (Applications > (selected app) > Monitoring > Overview).

Application monitoring

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.

CPU usage by server and by application
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.

Server monitoring

To view your individual server CPU usage:

  1. From the New Relic menu bar, select Servers.
  2. Optional: To sort the servers list by highest or lowest CPU usage, select the CPU column heading.
  3. To drill down into detailed CPU usage information, select the individual server.

CPU usage by server and by application
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)

For more help

Additional documentation resources include:

If you need additional help, get support at support.newrelic.com.