Limiting CPU C-States for NxTop Engine

No replies
Dave O'Hair
Experience with NxTop: 10
Offline
Joined: 06/13/2010

Sometimes it is useful to limit CPU C-States for computers running NxTop Engine. This is most common when troubleshooting problems with computer lockups. Limiting CPU C-States will prevent the computer from entering lower states of power consumption. The current theory is that computer lockups can occur on some hardware platforms when the CPU enters a higher C-State (meaning reduced performance and power consumption) and stays there when it should go back to the normal operating state when it should. In short, the CPU goes to sleep but never wakes up, which causes the computer to become completely unresponsive. Usually the only solution is to power-cycle the computer.

Limiting CPU C-States can prevent lockups by preventing the CPU from going to sleep in the first place. This will however increase overall computer power consumption and reduce battery life for laptop computers. It is not recommended to run laptop computers with limited C-States for extended periods of time.  For desktop computers, limiting CPU C-States is much less of an issue since they are connected to AC power.

The maximum CPU C-State can be set by adding a custom hypervisor boot parameter to the engine policy in NxTop Center.  This is in the Restart section of the engine policy configuration (example).  The hypervisor boot parameter to add is max_cstate=1 (no spaces on either side of the equals sign).

After setting the new hypervisor boot parameter, the client computer must check for updates with NxTop Center to get the updated engine policy, then the client computer must be rebooted in order for the new boot parameter to take effect.  It is not sufficient to simply restart the deployed VM, the entire computer must be rebooted.