Articles from The Mac Elite, CubeOwner & more

Thursday, December 31, 2009

Enabling CPU Power Management on Dual G4 Systems

Napping is a power saving feature on most PowerPCs that can be used whenever the CPU is idle even for the fraction of a second.

Mac OS X doesn't activate it on Dual G41 systems but can be overridden using the Live and Let Nap script which will save the selection into the non-volatile NVRAM of your computer by adding (or removing) the fn ("forcenap") kernel parameter2 to the boot-args variable.

A reboot is required for a change to take effect.

There is another approach for enabling Nap, but it requires installation of an old version of the CHUD toolset. Recent versions of the Xcode development environment also include (and require) a recent CHUD3, and two different versions of CHUD can't be installed together.

How much energy can be saved while taking a nap ?
In table 7 of the Hardware Specifications for the MPC 7448 Freescale states a drop from about 26 W running at 1.7 GHZ to 13 W in Nap mode generating 50% less heat4.
Actual measurements with a power meter connected to a Gigabit Ethernet PowerMac G4 running an inactive Finder from Leopard on the original two 7400 at 500 MHz show a total difference of 16 W in favor of Napping.
A fully loaded system will not nap, and further benchmarks such as Power Fractal showed no deterioration using Nap (as expected).

  1. On my test mule automatic use of Napping was regained by disabling the second CPU using the kernel parameter cpus=1, i.e. running the command line sudo nvram boot-args=cpus=1.
  2. This option is available starting with Mac OS X 10.3.
  3. No version of CHUD can change Nap when forcenap has been set but I've verified the setting with a modified copy of the hwprefs command.
  4. Using Dynamic Frequency Switching (DFS) to half the clock rate in situations without maximum performance requirements (but not idling) will only save about a quarter according to the formula given in section 9.7.5.1.