最新版本更新
https://code.jiangjiesheng.cn/article/344
1. 释放内存
1.1 适用现象
执行top,发现右上角buff/cache占用很大,3条命令执行结束buff/cache由20G降到8G。
1.2 执行命令
step1:
清除pagecache
echo 1 > /proc/sys/vm/drop_caches
step2:
清除回收slab分配器中的对象(包括目录项缓存和inode缓存)。slab分配器是内核中管理内存的一种机制,其中很多缓存数据实现都是用的pagecache
echo 2 > /proc/sys/vm/drop_caches
step3:
清除pagecache和slab分配器中的缓存对象
echo 3 > /proc/sys/vm/drop_caches
更多AI解读
在Linux中,触发内存回收并不是通过特定的“命令”来直接发起的,因为内存回收是由内核自动管理的。不过,你可以通过一些命令来影响内存回收的行为,尤其是释放缓存和缓冲区,这样可以释放一部分内存供其他进程使用。以下是几种可以用来影响内存回收的方法:
1:
使用Sync命令
这个命令可以强制文件系统缓冲区中的数据写入磁盘,从而释放这些缓冲区占用的内存。
2:
通过向/proc/sys/vm/drop_caches写入