Analyze multiprocessor systems: CPU Migration pane

The CPU Migration pane provides a display that draws attention to some of the potential performance problems that are associated with multiple-CPU systems.

Figure 1. The System Profiler's CPU Migration pane
There are two migration details that are currently charted over the period of the log file:
  • The upper part of the pane provides a display showing the number of CPU-scheduling migrations over time. The count is incremented each time a thread switches CPUs. The peaks in this graph indicate areas where there's a high level of contention for particular CPUs. This type of cross-CPU migration can reduce performance because the instruction code cache is flushed, invalidated, and then reloaded on the new CPU.
  • The lower part of the pane shows the count of cross-CPU communication, where the sending client thread and the receiving server thread are running on different CPUs. This type of cross-CPU communication on the initial message-sends is a potential performance problem since the data that is associated with the message-pass can't be maintained in the processor data cache. The caches must be invalidated, as the data transfer is moved to the new CPU.

This pane contains valid data only when the log file contains events from a system where there are multiple CPUs.