gpt4 book ai didi

linux - 如何清理 Linux 内核使用的缓存

转载 作者:IT王子 更新时间:2023-10-29 00:13:13 25 4
gpt4 key购买 nike

我想在缓存开始占用过多内存后强制 Linux 内核为应用程序分配更多内存(如 'free' 的输出所示)。

我跑了

sudo sync; sudo sysctl -w vm.drop_caches=3; free

(释放磁盘 dentry/inode 缓存和页面缓存),我看到只有大约一半的已用缓存被释放 - 其余的仍然存在。我如何才能知道是什么占用了剩余的缓存并强制释放它?

最佳答案

您可能想要增加 vfs_cache_pressure 并将 swappiness 设置为 0

这样做将使内核回收缓存更快,同时在决定什么被分页时给予进程同等或更多的支持。

如果您关心的进程执行很少的磁盘 I/O,您可能想要这样做。

如果网络 I/O 绑定(bind)进程必须换入以服务请求,那将是一个问题,真正的解决方案是将其放在竞争力较弱的服务器上。

使用默认的 swappiness 设置,内核几乎总是倾向于将 FS 相关的缓存保存在实际内存中。

因此,如果您增加缓存压力,请确保同样调整swappiness

关于linux - 如何清理 Linux 内核使用的缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/599719/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com