清理linux的buff/cache缓存
前言:在Linux系统中,buff/cache通常指的是缓冲区和缓存。这两个概念是内核管理的,用于加速对磁盘和文件的访问。清理这部分内存通常是为了释放内存空间供其他用途使用,但这并不是一个常见的操作,因为内核会自动管理这部分内存。
如果你确实需要清理buff/cache,可以通过执行sync命令来确保所有数据已经从缓冲区和缓存中写入磁盘,然后可以通过echo命令写入/proc/sys/vm/drop_caches来清理缓冲区和缓存。
1、查看内存 free -h

此服务器缓存内存占用过大
2、清理缓冲区和缓存
下面是清理缓冲区和缓存的命令:
# 同步磁盘数据
sync
# 清除页缓存
echo 1 > /proc/sys/vm/drop_caches
# 清除dentries和inodes
echo 2 > /proc/sys/vm/drop_caches
# 清除页缓存,dentries和inodes
echo 3 > /proc/sys/vm/drop_caches
执行完命令后,buff/cache就会被释放,free空闲内存就会变大。
free -h 查看,如下图:

free虽然腾出空了,但清理缓冲区和缓存是一个单向操作,一旦执行,所有被清除的缓存数据都需要重新从磁盘或其他源读取。这个操作对系统性能影响可能是显著的,因此通常不推荐手动进行
本文来自博客园,作者:攻城狮-tester,转载请注明原文链接:https://www.cnblogs.com/zcjbky/p/18661192

浙公网安备 33010602011771号