Linux系统中的缓存过期策略主要涉及文件系统缓存、内存管理单元(MMU)缓存、网络缓存和应用层缓存等方面。以下是一些具体的策略和参数:
vm.vfs_cache_pressure
:控制内核回收用于文件系统元数据(如inode和dentry)缓存的内存的压力。默认值通常是100,增加这个值会使内核更倾向于回收这些缓存。vm.dirty_ratio
和vm.dirty_background_ratio
:控制写回脏页的策略。vm.dirty_ratio
是系统内存中脏页的最大百分比,达到这个阈值后,系统将开始写回脏页。vm.dirty_expire_centisecs
:设置脏数据写入磁盘的过期时间(单位:毫秒)。Cache-Control
和Expires
来设置缓存的最大有效时间和过期时间。Last-Modified
和ETag
来验证资源是否有变化,避免不必要的下载。echo
命令手动清除不同类型的缓存:
echo 1 > /proc/sys/vm/drop_caches
:清理页面缓存。echo 2 > /proc/sys/vm/drop_caches
:清理目录项缓存和inode缓存。echo 3 > /proc/sys/vm/drop_caches
:清理页面缓存、目录项缓存和inode缓存。free -m
、vmstat
、sar
等工具监控缓存使用情况,以便及时调整缓存策略。通过上述策略和方法,可以有效地管理Linux系统中的缓存,优化系统性能和响应速度。