linux buffer/cache手动释放

内存使用情况

[root@tst-yangsq2-2 ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:           7.6G        1.0G        1.2G        239M        5.5G        6.1G
Swap:          2.0G        146M        1.9G

1.运行 sync 将 dirty 的内容写回硬盘

[root@tst-yangsq2-2 ~]# sync

2.通过修改 proc 系统的 drop_caches 清理free的cache

[root@tst-yangsq2-2 ~]# echo 3 > /proc/sys/vm/drop_caches

 drop_caches的详细文档如下:

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 notfreeable, the user should run "sync" first in order to make sure allcached objects are freed.
This tunable was added in 2.6.16.
* echo 0 > /proc/sys/vm/drop_caches
恢复默认设置

 

posted @ 2019-02-18 10:42  Knight灬麒  阅读(271)  评论(0编辑  收藏  举报