The present invention, in various embodiments, provides techniques for managing
system power. In one embodiment,
system compute loads and / or
system resources invoked by services running on the system consume power. To better manage
power consumption, the spare capacity of a system resource is periodically measured, and if this spare capacity is outside a predefined range, then the resource operation is adjusted, e.g., the CPU speed is increased or decreased, so that the spare capacity is within the range. Further, the spare capacity is kept as close to zero as practical, and this spare capacity is determined based on the statistical distribution of a number of utilization values of the resources, which is also taken periodically. The spare capacity is also calculated based on considerations of the probability that the system resources are saturated. In one embodiment, to maintain the services required by a
Service Level Agreement (SLA), a correlation between an SLA parameter and a
resource utilization is determined. In addition to other factors and the correlation of the parameters, the spare capacity of the
resource utilization is adjusted based on the spare capacity of the SLA parameter. Various embodiments include optimizing system performance before calculating system spare capacity, saving power for system groups or clusters, saving power for special conditions such as brown-out, high temperature, etc.