首页主机资讯Linux swap配置参数解析

Linux swap配置参数解析

时间2025-11-26 22:16:04发布访客分类主机资讯浏览520
导读:在Linux系统中,swap(交换分区)是一种用于扩展系统内存的技术。当系统的物理内存不足时,操作系统会将部分数据从内存移动到swap空间,从而释放内存供其他进程使用。以下是一些常见的Linux swap配置参数及其解析: 1. swapp...

在Linux系统中,swap(交换分区)是一种用于扩展系统内存的技术。当系统的物理内存不足时,操作系统会将部分数据从内存移动到swap空间,从而释放内存供其他进程使用。以下是一些常见的Linux swap配置参数及其解析:

1. swappiness

  • 作用:控制内核将数据从内存移动到swap空间的倾向。
  • 取值范围:0到100。
    • 0:表示尽量避免使用swap空间。
    • 100:表示尽可能多地使用swap空间。
  • 默认值:通常是60。

可以通过以下命令查看和设置:

# 查看当前swappiness值
cat /proc/sys/vm/swappiness

# 临时设置swappiness值
sudo sysctl vm.swappiness=30

# 永久设置swappiness值(编辑/etc/sysctl.conf文件)
vm.swappiness=30

2. vm.swappinessvm.vfs_cache_pressure

  • vm.swappiness:如上所述,控制swap的使用倾向。
  • vm.vfs_cache_pressure:控制内核回收inode和dentry缓存的倾向。
    • 取值范围:0到100。
      • 0:表示尽量避免回收缓存。
      • 100:表示尽可能多地回收缓存。
    • 默认值:通常是100。

可以通过以下命令查看和设置:

# 查看当前vfs_cache_pressure值
cat /proc/sys/vm/vfs_cache_pressure

# 临时设置vfs_cache_pressure值
sudo sysctl vm.vfs_cache_pressure=50

# 永久设置vfs_cache_pressure值(编辑/etc/sysctl.conf文件)
vm.vfs_cache_pressure=50

3. vm.dirty_ratiovm.dirty_background_ratio

  • vm.dirty_ratio:控制脏页(已修改但未写入磁盘的内存页)占用的总内存百分比。
    • 默认值:通常是20%。
  • vm.dirty_background_ratio:控制脏页在后台写入磁盘的阈值。
    • 默认值:通常是10%。

可以通过以下命令查看和设置:

# 查看当前dirty_ratio和dirty_background_ratio值
cat /proc/sys/vm/dirty_ratio
cat /proc/sys/vm/dirty_background_ratio

# 临时设置dirty_ratio和dirty_background_ratio值
sudo sysctl vm.dirty_ratio=15
sudo sysctl vm.dirty_background_ratio=5

# 永久设置dirty_ratio和dirty_background_ratio值(编辑/etc/sysctl.conf文件)
vm.dirty_ratio=15
vm.dirty_background_ratio=5

4. vm.min_free_kbytes

  • 作用:控制内核保留的最小空闲内存量。
  • 默认值:通常是系统内存的2.5%。

可以通过以下命令查看和设置:

# 查看当前min_free_kbytes值
cat /proc/sys/vm/min_free_kbytes

# 临时设置min_free_kbytes值
sudo sysctl vm.min_free_kbytes=51200

# 永久设置min_free_kbytes值(编辑/etc/sysctl.conf文件)
vm.min_free_kbytes=51200

5. vm.overcommit_memory

  • 作用:控制内存分配策略。
    • 0:内核根据启发式算法决定是否允许过度提交。
    • 1:总是允许过度提交。
    • 2:不允许过度提交,只有在有足够内存时才允许分配。

可以通过以下命令查看和设置:

# 查看当前overcommit_memory值
cat /proc/sys/vm/overcommit_memory

# 临时设置overcommit_memory值
sudo sysctl vm.overcommit_memory=2

# 永久设置overcommit_memory值(编辑/etc/sysctl.conf文件)
vm.overcommit_memory=2

6. vm.panic_on_oom

  • 作用:控制系统在OOM(Out of Memory)情况下的行为。
    • 0:不采取任何特殊措施。
    • 1:在OOM情况下重启系统。

可以通过以下命令查看和设置:

# 查看当前panic_on_oom值
cat /proc/sys/vm/panic_on_oom

# 临时设置panic_on_oom值
sudo sysctl vm.panic_on_oom=1

# 永久设置panic_on_oom值(编辑/etc/sysctl.conf文件)
vm.panic_on_oom=1

通过合理配置这些参数,可以优化Linux系统的swap使用,提高系统的性能和稳定性。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Linux swap配置参数解析
本文地址: https://pptw.com/jishu/757166.html
Linux swap故障如何排查 Linux swap分区如何管理

游客 回复需填写必要信息