gpt4 book ai didi

caching - 什么是pagecache、dentries、inode?

转载 作者:IT王子 更新时间:2023-10-28 23:30:19 25 4
gpt4 key购买 nike

刚刚从 https://unix.stackexchange.com/questions/87908/how-do-you-empty-the-buffers-and-cache-on-a-linux-system 学到了这 3 种新技术:


释放页面缓存:

# echo 1 > /proc/sys/vm/drop_caches

释放dentries和inode:

# echo 2 > /proc/sys/vm/drop_caches

释放页面缓存、dentries 和 inode:

# echo 3 > /proc/sys/vm/drop_caches

我正在尝试了解 pagecache、dentries 和 inode 到底是什么。它们到底是什么?

释放它们是否也会删除有用的 memcached 和/或 redis 缓存?

--

我为什么要问这个问题?我的 Amazon EC2 服务器内存在几天内被填满 - 在 7 天内从 6% 增加到 95%。我必须每两周运行一次 cronjob 来删除这些缓存。然后内存使用率再次下降到 6%。

最佳答案

由于过于简单化,让我尝试在您的问题的上下文中进行解释,因为有多个答案。

您似乎正在处理目录结构的内存缓存。上下文中的 inode 是表示文件的数据结构。 dentries 是表示目录的数据结构。这些结构可用于构建表示磁盘上文件结构的内存缓存。为了得到一个直接的列表,操作系统可以去dentries——如果目录在那里——列出它的内容(一系列的inode)。如果不存在,请转到磁盘并将其读入内存,以便再次使用。

页面缓存可以包含任何到磁盘 block 的内存映射。这可能是缓冲的 I/O、内存映射文件、可执行文件的分页区域——操作系统可以从文件中保存在内存中的任何东西。

您的命令会刷新这些缓冲区。

关于caching - 什么是pagecache、dentries、inode?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29870068/

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