Linux high memory usage and Reducing cached memory usage


sync; echo 3 > /proc/sys/vm/drop_caches
echo "vm.drop_caches = 3" >> /etc/sysctl.conf"
sync

Writing to this will cause the kernel to drop clean caches, dentries and inodes from memory, causing that memory to become free.
To free pagecache:
  • echo 1 > /proc/sys/vm/drop_caches
To free dentries and inodes:
  • echo 2 > /proc/sys/vm/drop_caches
To free pagecache, dentries and inodes:
  • echo 3 > /proc/sys/vm/drop_caches
As this is a non-destructive operation, and dirty objects are not freeable, the user should run "sync" first in order to make sure all cached objects are freed.
This tunable was added in ~2.6.16+ kernel,
Memory
To see how much memory you have,
free -m
Note. on this one look at the +/- buffers line which ommits freacking caching.
top
cat /proc/meminfo
dmesg | grep -i mem
vmstat

Disable Linux memory cache on ~2.6.16+ kernel,
sync
cat /proc/sys/vm/drop_caches
#sync;echo 3 > /proc/sys/vm/drop_caches
sysctl vm.drop_caches=3
echo "vm.drop_caches = 3" >> /etc/sysctl.conf"
sync

Loading