One embodiment is a method of dynamically adjusting a rate at which a
dynamic random access memory ("DRAM") module is refreshed in a computer
system. The method comprises monitoring a plurality of system conditions;
detecting a change in at least one of the monitored system conditions;
responsive to the detection, determining an optimum refresh rate for a
current state of the computer system; and setting the refresh rate to the
determined optimum refresh rate.