The sharp rise in energy usage in data centers, fueled by increased IT workload and high server density, and coupled with a concomitant increase in the cost and volatility of the energy supply, have triggered urgent calls to improve data center energy efficiency. In response, researchers have developed energy-aware IT systems that slow or shut down servers without sacrificing performance objectives. Several authors have shown that utility functions are a natural and advantageous framework for self-management of servers to joint power and performance objectives. We demonstrate that utility functions are a similarly powerful framework for flexibly managing entire data centers to joint power and temperature objectives. After showing how utility functions can capture a wide range of objectives and tradeoffs that an operator might wish to specify, we illustrate the resulting range in behavior and energy savings using experimental results from a real data center that is cooled by two computer room air-conditioning (CRAC) units equipped with variable-speed fan drives. © 2010 ACM.