Virtual memory compression: Difference between revisions

Content deleted Content added
Increased thrashing: Further cleanups and clarification
Increased thrashing: simplified a bit and removed redundant statements from first para
Line 24:
 
===Increased thrashing===
The memory used by a compression system reduces the amount of memory available to [[Process (computing)|processes]] that a system runs, which may result in increased paging activity. As more [[main memory]] is used to store compressed data that was paged out, less main memory is available to running programs[[process]]es, causing the level of paging activity to increase, and reducing the overall effectiveness of a virtual memory compression system.
 
TheThis relationship between the paging activity and available memory is roughly exponential, meaning that reducing the amount of main memory available to system processes below a certain point, results in an exponential increase of paging activity.<ref name="DENNING" /><ref name="FREEDMAN" /> In circumstances where the amount of free memory is low and paging is fairly prevalent, any gains in available virtual memory may be offset by a high [[page fault]] rate that leads to [[thrashing (computer science)|thrashing]] and degraded system performance. In circumstances where enough main memory is available and paging activity is low, compression may not impact performance enough to be noticeable. The middle ground between these two extremitiesstates{{mdashb}}low memory with high paging activity, and plenty of memory with low paging activity{{mdashb}}is where virtual memory compression may be most useful. However, the more compressible the program data is, the more pronounced are the performance improvements as less main memory is needed to hold the compressed data.
 
For example, in order to maximize the use of a compressed pages cache, [[Helix Software Company]]’s Hurricane&nbsp;2.0 provides a user-configurable threshold for the compression rejection level. By compressing the first 256 to 512 bytes of a 4&nbsp;KiB page, this virtual memory compression system determines whether the configured compression level threshold can be achieved for a particular page; if achievable, the rest of the page would be compressed and retained in a compressed cache, and otherwise a page would be sent to auxiliary storage through the normal paging system. The default setting for this threshold is an 8:1 compression ratio.<ref name="PCMAG-HURR-2" />