假期第一天的第一篇文章❤️
使用 echo N > /proc/sys/vm/drop_caches命令,N的值有1,2,3三个选项。/proc/sys/vm/drop_caches是一个位于 Linux 系统中的特殊文件,用于控制内核的缓存机制。通过向这个文件写入特定的值,系统管理员可以清理或放弃缓存的内存,这通常是为了性能测试或者释放不再需要的缓存。
- 写入值
1
:清理页缓存(page cache)。 - 写入值
2
:清理dentries(目录项)和inodes。 - 写入值
3
:清理页缓存、dentries 和 inodes。
页缓存(Page Cache)
- 定义:页缓存是一种用来存储从硬盘读取的文件数据的内存区域。当文件被读取时,它的数据被载入内存中,这样再次访问这些数据时就可以直接从内存中获取,而不是重新从较慢的硬盘读取。这大大加快了文件访问速度。
- 作用:页缓存提高了文件读取的效率。当一个程序请求读取文件时,操作系统首先会在页缓存中查找数据。如果找到了,就直接从内存中读取;如果没有找到,操作系统会从硬盘加载数据到页缓存中,然后再提供给请求的程序。
dentries(目录项)
- 定义:dentry 是 "directory entry"(目录条目)的缩写,它是文件系统中一个文件或目录的名字和其他一些基本属性的内存表示。简单来说,dentry 是文件或目录的索引。
- 作用:dentries 缓存了文件系统的目录结构,使得查找文件和目录变得更快。当系统需要访问一个文件时,它会使用 dentry 快速定位到该文件。
inodes
- 定义:inode 是 “index node”(索引节点)的缩写。在 Unix 和类 Unix 文件系统中,inode 包含了文件的元数据信息,如文件的大小、设备ID、用户ID、组ID、文件模式(权限)、时间戳等,但不包含文件名或文件数据。
- 作用:每个文件都有一个对应的 inode,它包含了操作系统管理文件所需的几乎所有信息。当系统需要读取或修改文件属性时,它会查找相应的 inode。