# cat /proc/acpi/processor/CPU0/power
active state:            C0
max_cstate:              C8
maximum allowed latency: 2000000000 usec
states:
    C1:                  type[C1] promotion[--] demotion[--] latency[001] usage[08724892] duration[00000000000000000000]
    C2:                  type[C2] promotion[--] demotion[--] latency[041] usage[35992071] duration[00000001375734158075]

I'm trying to understand which setting would be the best for our servers, where there is continuous execution of grid jobs for 5 to 6 days in a week.

So, I am trying to choose optimized parameters for low latency.

And what does the maximum allowed latency means in the above output? And the properties of each C state i.e, promotion, demotion, latency, usage and duraction mean?

Adding to that, is it too much to disable Power Management for our environment completely?

I mean there is continuous execution and there are on average of nearly 24 CPUs per server with 12 cores in each. And as the environment is grid, there is a possibility that most of the time some of the cores in CPU or some CPUs itself are not being used (if the job couldn't find the needed resources from the server at that time, including RAM). Also 90% of the cases, no jobs will be running on Sundays.

Hence, it could be too much lavish to disable Power Management completely.

So, how could I use the above output and understand how much time it requires to wake up from each state. If it is not too much up to a particular level, I think then we can change the maximum allowed C-state to that number. Atleast, I feel max_cstate of C8 would be too much for working days, it might take more time to wakeup.


The standard solution for anything that requires low-latency or deterministic processing/response times is to disable C-states entirely.

I don't know what type of servers you're using, but HP has a nice low-latency tuning guide that may be helpful to get a basic understanding of the thought and decision making process behind this.