A system and method for detecting memory leaks includes a monitoring
agent, a user interface for configuring operating parameters and a
reporting mechanism. The monitoring agent determines allocated memory
levels of a monitored application at a sampling frequency and determines
when a then-existing "peak" memory level has increased. The monitored
application is determined to be leaking memory when a determined number
of increases in the peak allocated memory level are detected. The
determined number may be fixed ahead of time or may be calculated
dynamically based on user specified parameters. When a given memory
leakage rate is exceeded, an alarm response is taken, which may be either
a specified notification of the alarm or an action. Certain increases in
the peak allocated memory levels are ignored as not necessarily being
indicative of a memory leak condition, such as during startup of the
program or between rapidly, closely-occurring increases in the peak
allocated memory level.