1.使用hcache查看buff/cache占用情况
执行下面的命令安装hcache ,原hcache项目地址 https://github.com/silenceshell/hcache
wget https://silenceshell-1255345740.cos.ap-shanghai.myqcloud.com/hcache chmod +x hcache mv hcache /usr/local/bin/
查看缓存排名前十的进程
hcache -top 10
2.清理journal系统服务日志释放buff/cache
journalctl 清理日志有 -vacuum-size和 -vacuum-time两个 选项
使用 -vacuum-size 选项, 可硬性指定日志的总体体积,意味着其会不断删除旧有记录直到所占容量符合要求
sudo journalctl --vacuum-size=1G
使用 -vacuum-time 选项, 任何早于这一时间点的条目都将被删除。例如,去年之后的条目才能保留:
sudo journalctl --vacuum-time=1years
3.在保证了数据一致性的前提下还可以使用下面的命令清理buff/cache,谨慎使用
sync #描述:sync 命令运行 sync 子例程。如果必须停止系统,则运行sync 命令以确保文件系统的完整性。sync 命令将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-Node、已延迟的块 I/O 和读写映射文件
sync; echo 1 > /proc/sys/vm/drop_caches #表示清除pagecache。 sync; echo 2 > /proc/sys/vm/drop_caches #表示清除回收slab分配器中的对象(包括目录项缓存和inode缓存)。slab分配器是内核中管理内存的一种机制,其中很多缓存数据实现都是用的pagecache。 sync; echo 3 > /proc/sys/vm/drop_caches #表示清除pagecache和slab分配器中的缓存对象。