Interpreting Data on CPU Sleep States


Power analysis is available only with the Intel® VTune™ Amplifier for Systems, part of Intel System Studio. For Linux* platforms based on Intel Xeon® processors, use Power analysis types provided with the VTune Amplifier GUI. On Windows* OS, you may import and view results collected on a Linux platform. For Power analysis on Android* platforms, use the Intel® Energy Profiler tools to analyze power consumption for your system and identify causes of wake-ups that waste energy. To view the power analysis results collected on an Android system, use the VTune Amplifier for Systems graphical interface.

When the CPU Sleep States analysis is complete, the Intel® VTune™ Amplifier opens the collected results in the CPU Sleep States viewpoint.

To interpret the performance data provided during the CPU Sleep States analysis, you may follow the steps below:

  1. Analyze overall statistics.

  2. Identify cores with the highest time spent in C0 state.

  3. Identify processor wake-ups and possible causes.

  4. Analyze sources.

  5. Explore other analysis types.

Analyze Overall Statistics

Click the Summary tab to switch to the Summary window. The first section displays the summary statistics on the overall collection run time execution per power analysis metrics. To view the metric description, hover over the question mark icon:

CPU Sleep States Viewpoint: Summary Window

You may use the performance issues identified by the VTune Amplifier as a baseline for comparison of versions before and after optimization. Your primary performance indicator for the CPU Sleep States analysis is the Wake-ups/sec per Core value that shows the rate of the processor wake-ups. Focus on decreasing this value to achieve greater power savings.

Explore the histogram to analyze the time spent in each sleep state for the entire system:

Elapsed Time per CPU Sleep State Histogram

For example, in the histogram above, the application spent almost all the time in C6 sleep state, which means that power consumption during this time was low.

Identify Cores with Highest Time Spent in C0 States

Switch to the CPU Sleep States pane to identify cores with the highest time spent in the active C0 state. Spending more time in deeper sleep states (C1-Cn) provides greater power savings.

By default, the VTune Amplifier displays data grouped by core and sorted by CPU time spent in the deepest C-state in the descending order. For the example below, most of CPU time was spent in the C6 sleep state.

CPU Sleep States Viewpoint: CPU Sleep States Pane

Identify Processor Wake-ups and Possible Causes

Switch to the CPU Wake-ups pane and group the data by the Wake-up Reason/Wake-up Object/Call Stack to identify causes of the processor wake-ups.

For timers, you can click the button and view the call stack for the wake-up object. Select a timer call stack row in the CPU Wake-ups pane to view a detailed timer wake-up call stack in the Call Stack pane on the right.

In the grid, you may select a wake-up object with the highest Wake-up Count, right-click it and select the Filter In by Selection from the context menu. VTune Amplifier will update the grid and timeline displaying the data relevant only for the selected object. The example below shows wake-ups per core initiated by the IRQ object selected in the grid.

Hover over a chart point to view the sleep states details for the particular moment of time.

Deeper the color of the chart, deeper the sleep state of the CPU. You may select a region of the graph and zoom into the selection to see detailed sleep state transitions.

Analyze Source

Double-click a user timer wake-up on the timeline/grid to view the source and identify a code region that may be contributing to higher power consumption.


Source analysis for timers from user code (ring 3) is not supported for system-wide collection.

Explore Other Analysis Types

When you are done with the system-level power analysis, you may run a hardware event-based sampling analysis with the stack collection enabled and analyze active and idle power consumption by function. To do this, choose the required event-based analysis in the Analysis Type window, select the Collect stacks option and click the Start button. When the analysis completes, analyze the data provided in the Hardware Event Counts viewpoint.

Per informazioni complete sulle ottimizzazioni del compilatore, consultare l'Avviso sull'ottimizzazione