linux释放内存

来源:互联网 发布:美剧推荐知乎 编辑:程序博客网 时间:2024/06/05 20:45
             total       used       free     shared    buffers     cachedMem:           994        153        840         43          3         22-/+ buffers/cache:        127        866Swap:            0          0          0


系统可用内存 = free+buffers+cached

为了更彻底。可以按照如下方法来一次内存回收

free -mcat /proc/sys/vm/drop_cachessyncecho 3 > /proc/sys/vm/drop_cachescat /proc/sys/vm/drop_cachesfree -m


手动执行sync命令(描述:sync 命令运行 sync 子例程。如果必须停止系统,则运行sync 命令以确保文件系统的完整性。sync 命令将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-node、已延迟的块 I/O 和读写映射文件)


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
As this is a non-destructive operation and dirty objects are not freeable, the user should run "sync" first!




参考

http://www.jb51.net/LINUXjishu/281868.html

http://bbs.chinaunix.net/thread-2008613-1-1.html

http://www.cnblogs.com/hoys/archive/2012/09/08/2676922.html


0 0