麒麟桌面系统【如何设置Swappiness的值】
一、什么是swappiness
swappiness 是 Linux 内核的一个参数(范围 0-100),用于控制系统将内存数据移到交换分区(Swap)的积极程度。合理设置可以提升性能,尤其是在内存不足或硬盘不稳定的情况下。
- 默认值:
大多数 Linux 发行版默认 swappiness=60
数值含义:- 0:除非内存耗尽,否则尽量不使用 Swap(适合 SSD 或高性能服务器)。
- 60:平衡模式(默认)。
- 100:积极使用 Swap(可能导致频繁磁盘 I/O,影响性能)。
二、配置建议
-
Swappiness 参数决定了 Swap 分区如何使用
- 当 Swappiness = 0 时,表示最大限度使用物理内存,然后才使用Swap,
- 当 Swappiness = 100 时,表示最大限度使用 Swap,然后才使用物理内存
- 这个值的初始值是60,用Swap比较多,性能会差些
- 桌面系统是SSD硬盘的最好改成 10,尽量先用物理内存。
-
表格
硬件情况 推荐 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 依赖,减少磁盘压力
三、修改方法
- 查看swappiness
cat /proc/sys/vm/swappiness
- 更改swappines
sudo sysctl vm.swappiness=10 - 使开机生效
# 切换特权模式 sudo -i # 在最后添加vm.swappiness = 10 echo "vm.swappiness = 10" >> /etc/sysctl.conf # 查看是否修改成功 cat /etc/sysctl.conf
其他
-
完全禁用 Swap(不推荐)
仅适用于内存非常充足的服务器:
sudo swapoff -a # 临时禁用所有 Swap sudo sysctl vm.swappiness=0 # 彻底禁用 Swap 倾向