> For the complete documentation index, see [llms.txt](https://doc.engenius.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.engenius.ai/bmc-user-guide/advanced-management/power-and-cooling-policies.md).

# Power & Cooling Policies

Beyond basic power on/off controls, the BMC provides sophisticated tools for managing the server's power consumption and thermal performance. These features are designed for data center environments where balancing performance, power usage, and cooling is critical. By setting power policies, you can ensure your servers operate within specific energy budgets without sacrificing performance where it's needed most.

This chapter introduces the Node Manager and CUPS features for advanced power and performance tuning.<br>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdJpb0rkkZWpHmbgKTomaPIbEcQ2zmcyuLD4nZeoZzNoIL7u2AuCdFB_A3M0BeCgR6F9fZa22TxJp5S5UGTi7nhZFePQskSfxb8yYoRwoOUZf4dgE5LUACrKOwaVAqAId7Mjt46kA?key=UlDoHTEZLTRXe-KURf91Rw" alt=""><figcaption></figcaption></figure>

## **Using the Node Manager to set power policies**

**Node Manager** is an Intel technology that provides platform-level power monitoring and policy enforcement. It allows you to view detailed power usage statistics and create rules to limit power consumption for specific domains like the CPU or the entire system.

To view power statistics:

1. In the sidebar menu, navigate to **Settings** > **Node Manager**.
2. The **Power Statistics** tab shows live and historical power usage (in watts) and throttling information for various system components.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXe18GFlbV3a8rgaSfi9b6qrVvvOaSOxR-szhzlJzN0vcyY0_K_qpmtmjS3mvbe-29rUGpFT7_U-XXxwY-ZnAiECacO8RlNqbt3PHwY9uUzifM8SeEXaag9xPvpfUMapOxcqYWr6ww?key=UlDoHTEZLTRXe-KURf91Rw" alt=""><figcaption></figcaption></figure>

To create a power policy:

1. Select the **NM Configuration** tab.
2. Click **Create New Policy**.<br>

   <figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXexy7BOb2MbvJrVWoC_JJzt4Wg9CKPwtE0YnBLGZOmifudu6RBBOWxEpBs9wAeL4nsQBk3S7Gqa_Iacp9aTuJahYanPHHnFdtbvDEKlbdPlWxpgd3pVgkuy_plZFKoNmL5YKfZr?key=UlDoHTEZLTRXe-KURf91Rw" alt=""><figcaption></figcaption></figure>
3. In the popup window, define the policy parameters:
   * **Domain**: The component you want to control (e.g., `CPU Subsystem`, `Memory Subsystem`).
   * **Policy Limit**: The maximum power (in watts) you want to allow for this domain.
   * **Policy Storage**: Set to `persistent` to ensure the policy remains active after a reboot.
4. Click **Create New Policy** to save and apply the rule.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdYALikIGGWmNKfOsM6JRL7FDz0kfFgj0fcEkY0FB7v-I0rh0cvGoO6lZQ93BV6LzMeqvr_l5ontZJQohpKsahv7IDP0i6-RLAOoNhtJG0DpHqsGYWxTQfGhtH6r84yZ-aMJtDSzg?key=UlDoHTEZLTRXe-KURf91Rw" alt=""><figcaption></figcaption></figure>

## **Using CUPS to configure workload-based performance**

**CUPS (Configurable Usage Policy Service)** is a feature that tunes the server's power and thermal management based on its expected workload. It helps you optimize the system for specific roles, such as a CPU-intensive compute node or a memory-intensive database server.

1. Navigate to **Settings** > **CUPS**.
2. Choose a configuration mode:
   * **Static**: Manually assign a load factor percentage to the **Core Load Factor**, **Memory Load Factor**, and **I/O Load Factor**. The sum of the three factors must equal 100. This is best for predictable, unchanging workloads.
   * **Dynamic**: Allows the system to automatically adjust the load factors based on real-time usage. This is better for variable workloads.
3. Click **Save settings**.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeEEEN_Rj4wyDgs2pUQu_SsxljcE52t6t3M4a00WDFFt0BImXH6aUz-xQILgaFT6vLIq7gGLB-Lu3ucFAq8549bnWQrqDC_Nl9h65IaEr13IfYaZdXSuJty8-b0zFqT0WbNeAdU?key=UlDoHTEZLTRXe-KURf91Rw" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
**Best Practice: Start with monitoring, then tune**

Before creating aggressive power policies, it's a good practice to first use the **Node Manager** to monitor your server's power consumption under a typical workload. This gives you a baseline to understand its actual power needs. Only after you have this data should you start applying power limits to avoid unnecessarily throttling performance. For most general-purpose servers, leaving CUPS in **Dynamic** mode is the recommended approach.
{% endhint %}

### Field Reference (Node Manager Policy)

<table><thead><tr><th width="240.70703125">Field</th><th>Description</th></tr></thead><tbody><tr><td><strong>Domain</strong></td><td>The hardware area the policy will control (e.g., CPU, DRAM, Platform).</td></tr><tr><td><strong>Policy ID</strong></td><td>A custom identifier for the policy (numeric or string).</td></tr><tr><td><strong>Component id</strong></td><td>A unique integer ID to bind the policy to a specific hardware component.</td></tr><tr><td><strong>Policy Limit</strong></td><td>The power limit in watts. This must be within the minimum and maximum capability values of the selected domain.</td></tr><tr><td><strong>Limit Exception</strong></td><td>Action to take if the policy limit cannot be enforced.</td></tr><tr><td><strong>State</strong></td><td>The current state of the policy (<code>Enabled</code> or <code>Disabled</code>).</td></tr><tr><td><strong>policy Correction Time (ms)</strong></td><td>The duration (1000-60000 ms) over which the power correction is applied.</td></tr><tr><td><strong>Statistics Reporting Period</strong></td><td>How frequently the policy's metrics are reported (in seconds or minutes).</td></tr><tr><td><strong>Trigger Type</strong></td><td>The event that activates the policy (e.g., <code>AlwaysOn</code>, <code>OnTimer</code>).</td></tr><tr><td><strong>Trigger Limit</strong></td><td>A threshold value that must be met for the trigger to activate.</td></tr><tr><td><strong>Power Correction Type</strong></td><td>The method used to enforce the power limit.</td></tr><tr><td><strong>Policy Storage</strong></td><td>Defines whether the policy is <code>temporary</code> or <code>persistent</code> across reboots.</td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://doc.engenius.ai/bmc-user-guide/advanced-management/power-and-cooling-policies.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
