麒麟桌面系统【如何设置Swappiness的值】

一、什么是swappiness

swappiness 是 Linux 内核的一个参数(范围 0-100),用于控制系统将内存数据移到交换分区(Swap)的积极程度。合理设置可以提升性能,尤其是在内存不足或硬盘不稳定的情况下。

  1. 默认值:
    大多数 Linux 发行版默认 swappiness=60
    数值含义:

    • 0:除非内存耗尽,否则尽量不使用 Swap(适合 SSD 或高性能服务器)。
    • 60:平衡模式(默认)。
    • 100:积极使用 Swap(可能导致频繁磁盘 I/O,影响性能)。

二、配置建议

  1. Swappiness 参数决定了 Swap 分区如何使用

    • 当 Swappiness = 0 时,表示最大限度使用物理内存,然后才使用Swap,
    • 当 Swappiness = 100 时,表示最大限度使用 Swap,然后才使用物理内存
    • 这个值的初始值是60,用Swap比较多,性能会差些
    • 桌面系统是SSD硬盘的最好改成 10,尽量先用物理内存。
  2. 表格

    硬件情况 推荐 Swappiness 原因 额外建议
    高性能服务器 1-10 减少 Swap 使用,避免磁盘 I/O 拖慢关键服务(如 MySQL、Redis)。 禁用或最小化 Swap
    桌面/笔记本 30-60 平衡内存和 Swap 使用,防止内存不足导致卡顿。 默认值通常够用
    老旧/低内存设备 70-80 避免 OOM(内存溢出)杀死进程,但可能增加磁盘负载。 增加 Swap 避免 OOM
    SSD/NVMe 1-10 减少 Swap 写入,延长 SSD 寿命(但需确保内存足够)。 减少写入,延长寿命
    硬盘不稳定/慢速 HDD 10-30 降低 Swap 使用频率,减少对故障硬盘的依赖。 降低 Swap 依赖,减少磁盘压力

三、修改方法

  1. 查看swappiness
    cat /proc/sys/vm/swappiness

    file

  2. 更改swappines
    sudo sysctl vm.swappiness=10
  3. 使开机生效
    # 切换特权模式
    sudo -i
    # 在最后添加vm.swappiness = 10
    echo  "vm.swappiness = 10" >>  /etc/sysctl.conf
    # 查看是否修改成功
    cat  /etc/sysctl.conf

    file

其他

  1. 完全禁用 Swap(不推荐)

    仅适用于内存非常充足的服务器:

    sudo swapoff -a      # 临时禁用所有 Swap
    sudo sysctl vm.swappiness=0  # 彻底禁用 Swap 倾向
发表回复 0

Your email address will not be published.