清理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虽然腾出空了,但清理缓冲区和缓存是一个单向操作,一旦执行,所有被清除的缓存数据都需要重新从磁盘或其他源读取。这个操作对系统性能影响可能是显著的,因此通常不推荐手动进行

posted @ 2025-01-09 10:08  攻城狮-tester  阅读(3632)  评论(0)    收藏  举报