温馨提示×

Linux缓存大小如何调整

小樊
49
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