Release found: Red Hat Enterprise Linux 4
Resolution:
The kernel uses heuristics to guess which pages of memory are likely to be needed in the near future, and tries to keep those pages in memory, regardless of whether they belong to processes or kernel caches. It is normal for the kernel to swap out process memory even when there is plenty of cache memory that could be easily freed.
The kernel heuristics can be tuned by changing the vm.swappiness parameter of sysctl. The default value, which is 60, is reasonable for most workloads, but some systems may benefit from lower or higher values. Increasing this value will make the system more inclined to swap, leaving more memory free for caches. Decreasing this value will make the system less inclined to swap, and may improve application responsiveness.
Tuning vm.swappiness may hurt performance, or may have a different impact between light and heavy workloads. Changes to this parameter should be made in small increments, and should be tested under the same conditions that the system normally operates.
For example, to set the vm.swappiness parameter to 50:
# echo '50'> /proc/sys/vm/swappiness
To make this setting persistent across reboots, add this line to the /etc/sysctl.conf file: