This statistic shows the average utilization of the appliance CPUs. A CPU may be a core on a socket or a hardware thread; the number and type can be seen under analytics interface. For example, a system may have four sockets of quad-core CPUs, meaning there are 16 CPUs available to the appliance. The utilization shown by this statistic is the average across all CPUs.
Figure 2 CPU Percent Utilization
The appliance CPUs can reach 100% utilization, which may or may not be a problem. For some performance tests, the appliance is deliberately driven to 100% CPU utilization to measure it at peak performance.
Figure 3 shows CPU: Percent utilization broken down by CPU mode, while the appliance served over 2 Gbytes/sec of cached data over NFSv3.
An average of 82% utilization suggests that there could be more headroom available, and that appliance may be able to serve more than 2 Gbytes/sec (it can). (The breakdowns only add to 81%; the extra 1% is due to rounding.)
The high level of CPU utilization does mean that overall latency of NFS operations may increase, which can be measured by Protocol NFS operations broken down by latency, as operations may be waiting for CPU resources more often.
You can check CPU percent utilization when investigating system bottlenecks. You can also check this statistic when enabling features that consume CPU, such as compression, to gauge the CPU cost of that feature.
The available breakdowns of CPU percent utilization are:
|
The CPU modes are:
|
A problem with this CPU utilization average is that it can hide issues when a single CPU is at 100% utilization, which may happen if a single software thread is saturated with work. Use the Advanced Analytic CPUs broken down by percent utilization, which represents utilization as a heat map of CPUs, allowing a single CPU at 100% to be easily identified.
CPU utilization represents the time spent processing CPU instructions in user and kernel code, that are not part of the idle thread. Instruction time includes stall cycles on the memory bus, so high utilization can be caused by the I/O movement of data.