Linux系统内存buff/cache占用过多

用free或者top命令都能查看内存使用情况

在云服务器上,total = used + free + buff/cache

Linux内核会在内存将要耗尽的时候,触发内存回收的工作,以便释放出内存给急需内存的进程使用。一般情况下,这个操作中主要的内存释放都来自于对buffer/cache的释放。

还可以使用下面这个文件来人工触发缓存清除的操作:

[root@tencent64 ~]# cat /proc/sys/vm/drop_caches 
1

方法是:

echo 1 > /proc/sys/vm/drop_caches

这个文件可以设置的值分别为1、2、3

# 表示清除pagecache。
echo 1 > /proc/sys/vm/drop_caches
# :表示清除回收slab分配器中的对象(包括目录项缓存和inode缓存)。slab分配器是内核中管理内存的一种机制,其中很多缓存数据实现都是用的pagecache。
echo 2 > /proc/sys/vm/drop_caches
# :表示清除pagecache和slab分配器中的缓存对象。
echo 3 > /proc/sys/vm/drop_caches

原文地址:https://www.cnblogs.com/dlcode/p/14247038.html