Using the CPU power management features in Solaris

I mentioned previously that I built out some new hardware. When I was spec’ing out the hardware, I made sure to get “green” components that supported advanced power management features. Solaris is able to take advantage of the CPU power states, and can lower the processor operating frequency when a server is idle. Power managementis handled by the the Solaris kernel, and configured through the /etc/power.conf configuration file. By default, the file will contain a CPU power management entry similar to the following:

cpupm                   enable
cpu-threshold           1s

The cpupm directive enables CPU power management, and the cpu-threshold directive indicates how often the processor needs to be idle before the CPU frequency is lowered. To check the current operating frequency of a CPU, you can check the current_clock_Hz value for each CPU:

$ kstat -m cpu_info -i 0 -s current_clock_Hz

module: cpu_info                        instance: 0     
name:   cpu_info0                       class:    misc
        current_clock_Hz                1100000000

This is awesome stuff, and when the disk power management project is integrated, servers will hopefully be able to reduce their power consumption dramatically. Viva la Solaris!

3 thoughts on “Using the CPU power management features in Solaris”

  1. On opensolaris 2009.06 the config file is /etc/power.conf.

    The man page for power.conf is very thorough. According to this man page, the cpu-threshold is only when the system is configured to manage power in poll-mode

    cpupm enable poll-mode
    cpu-threshold 1s

  2. A *BIG* thanks!!!

    My Blade 1500 finally runs cool!!

    Previous value was 900s… and also cpu overheat warnings were common in the log.

    Great advice!

Leave a Reply

Your email address will not be published. Required fields are marked *