温馨提示×

Linux缓存大小如何调整

小樊
46
2025-09-28 23:31:37
栏目: 智能运维

在Linux系统中,可以通过调整内核参数来改变缓存大小。以下是一些常用的方法:

临时调整(重启后失效)

  1. 查看当前缓存使用情况

    free -h 
  2. 调整缓存大小

    • 增加缓存:
      sudo sysctl -w vm.vfs_cache_pressure=50 sudo sysctl -w vm.dirty_ratio=10 sudo sysctl -w vm.dirty_background_ratio=5 
    • 减少缓存:
      sudo sysctl -w vm.vfs_cache_pressure=100 sudo sysctl -w vm.dirty_ratio=40 sudo sysctl -w vm.dirty_background_ratio=10 

永久调整(重启后生效)

  1. 编辑 /etc/sysctl.conf 文件 打开文件并添加或修改以下行:

    vm.vfs_cache_pressure=50 vm.dirty_ratio=10 vm.dirty_background_ratio=5 
  2. 应用更改

    sudo sysctl -p 

调整特定缓存类型

  • 调整页面缓存(page cache)

    sudo sysctl -w vm.vfs_cache_pressure=50 
  • 调整目录项和inode缓存

    sudo sysctl -w vm.dir_index=1 
  • 调整slab分配器缓存

    sudo sysctl -w slab_reclaim=1 

注意事项

  • 调整缓存大小时要谨慎,过大的缓存可能会占用过多内存,影响系统性能。
  • vm.vfs_cache_pressure 参数控制内核回收inode和dentry缓存的倾向。较低的值会使内核更倾向于保留这些缓存,较高的值则会使内核更积极地回收它们。
  • vm.dirty_ratiovm.dirty_background_ratio 控制脏页的比例,当脏页比例达到这些阈值时,内核会开始写回磁盘。

通过以上方法,你可以根据实际需求调整Linux系统的缓存大小。

0