通过drop_cache可以清理释放很多pagecache,dentries and inodes。


方法有以下几种:

1.To free pagecache:


    echo 1 > /proc/sys/vm/drop_caches


2.To free dentries and inodes:


    echo 2 > /proc/sys/vm/drop_caches


3.To free pagecache, dentries and inodes:


    echo 3 > /proc/sys/vm/drop_caches


这是一种非破坏性的操作,只会释放完全不用的东西。Dirty objects(缓存数据)将继续被使用直到写入磁盘不可用。如果首先运行“同步”(sync)将它们刷新到磁盘,这些拖放操作将释放更多内存。

(还是建议先执行同步到硬盘命令再释放缓存)


具体事例如下:

  1. 查看内存缓存清空

    free

    wKioL1laDAexAfpfAAASsk0zOPw729.png

  2. 同步数据

    sync

  3. 释放缓存

    echo 3 > /proc/sys/vm/drop_caches

    wKioL1laC5GDm4t6AAAS3dLzSDQ769.png