BLOG
Enjoy when you can, and endure when you must.
Linux释放内存

服务器运行时间一长,这内存占用是蹭蹭蹭的往上涨!一个小站哪里用得到那么多内存呢,肯定是运行了程序后没有释放。在2.6.16及以上的内核版本中增加了一个机制可以方便地释放内存,具体如下(英文原版转载):

Kernels 2.6.16 and newer provide a mechanism to have the kernel drop the page cache and/or inode and dentry caches on command, which can help free up a lot of memory. Now you can throw away that script that allocated a ton of memory just to get rid of the cache...


To use /proc/sys/vm/drop_caches, just echo a number to it.


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


This is a non-destructive operation and will only free things that are completely unused. Dirty objects will continue to be in use until written out to disk and are not freeable. If you run "sync" first to flush them out to disk, these drop operations will tend to free more memory.

COMMENTS
LEAVE COMMNT