Memory Cliff

As the RAM usage of an application increases, for any number of reasons (including algorithms that take more space, more data being processed, or memory management bugs), there will tend to be a point at which memory usage exceeds the bounds of the physical RAM that can be allocated to the application. At that point, the VirtualMemory? system (usually part of the operating system) will take over and start moving the application's data between RAM and disk to compensate. Disk access is very slow, so the speed at which the application runs usually drops sharply at that point. This sudden speed drop is called a MemoryCliff, because it looks like a cliff on a plot of memory usage to application speed; performance is high before the cliff and low after it.

With VirtualMemory? systems that move individual pages, the MemoryCliff manifests itself as a large number of page faults requiring context switches and disk I/O. With VirtualMemory? systems that move the whole address space (suspending the application in the meantime), the MemoryCliff manifests itself as a large amount of time spent suspended on disk.

Contributors: GeorgePaci, AnonymousDonor

See MemoryManagement


EditText of this page (last edited November 8, 2005) or FindPage with title or text search