官术网_书友最值得收藏!

Fighting guest CPU saturation in SMP VMs

Guest CPU saturation happens when the application and operating system running in a virtual machine use all of the CPU resources that the ESXi host is providing for that virtual machine. However, this guest CPU saturation does not necessarily indicate that a performance problem exists.

Compute-intensive applications commonly use all of the available CPU resources, but this is expected and might be acceptable (as long as the end user thinks that the job is completing quickly enough). Even less-intensive applications might experience periods of high CPU demand without experiencing performance problems. However, if a performance problem exists when guest CPU saturation is occurring, steps should be taken to eliminate the condition.

When a virtual machine is configured with more than one vCPU but actively uses only one of those vCPUs, resources that could be used to perform useful work are being wasted. At this time you may see a potential performance problem—at least from the most active vCPU perspective.

Getting ready

To step through this recipe, you need a running ESXi Server, a couple of running CPU-hungry virtual machines, vCenter Server, and a working installation of vSphere Client. No other prerequisites are required.

How to do it...

To spot CPU overcommitment in the guest OS there are two CPU resource parameters which you should monitor closely as follows:

  • The ready time
  • The usage percentage
  1. Log in to the vCenter Server using vSphere Client.
  2. From the home screen, navigate to Hosts and Clusters.
  3. Expand the ESXi host and go to the CPU hungry VM.
  4. Click on the Performance tab.
  5. Navigate to the CPU from the Switch To drop-down menu on the right-hand side.
  6. Navigate to the Advanced tab and click on the Chart Options.
  7. Select only Usage Average in Percentage, Ready, and Used in the Counters section and click on OK

The preceding example shows the high usage and used value. We can see it is 100 percent.

The preceding example shows that after the CPU increase in the VM, the percentage of CPU usage dropped down to 52 percent.

How it works...

So for a SMP VM if you see it is the high CPU resources demanding, it may happen that either the application is single threaded or the guest operating system is configured with uniprocessor HAL.

Many applications are written with only a single thread of control. These applications cannot take advantage of more than one processor core.

In order for a virtual machine to take advantage of multiple vCPUs, the guest operating system running on the virtual machine must be able to recognize and use multiple processor cores. If the virtual machine is doing all of its work on vCPU0, the guest operating system might be configured with a kernel or a HAL that can recognize only a single processor core.

You have two possible approaches to solving performance problems related to guest CPU saturation:

  • Increase the CPU resources provided to the application.
  • Increase the efficiency with which the virtual machine uses CPU resources.

Adding CPU resources is often the easiest choice, particularly in a virtualized environment. If a virtual machine continues to experience CPU saturation even after adding CPU resources, the tuning and behavior of the application and operating system should be investigated.

主站蜘蛛池模板: 甘谷县| 双牌县| 泽普县| 怀宁县| 克拉玛依市| 瑞金市| 潜山县| 集安市| 靖远县| 黄石市| 牙克石市| 道孚县| 扎赉特旗| 微山县| 尼玛县| 得荣县| 天水市| 舒城县| 民乐县| 和林格尔县| 乌海市| 三门峡市| 合山市| 海丰县| 红河县| 红原县| 小金县| 古丈县| 临高县| 上高县| 连江县| 阳信县| 平原县| 长丰县| 获嘉县| 门源| 桦甸市| 乾安县| 花莲县| 永靖县| 垦利县|