Ubuntu如何调整swapper参数
导读:Ubuntu 调整 Swappiness 与 Swap 优先级 概念与取值范围 在 Linux 语境中,大家常说的“swapper”通常指的是内核的交换机制(swap)与其倾向性参数vm.swappiness。该参数取值范围为0–100:...
Ubuntu 调整 Swappiness 与 Swap 优先级
概念与取值范围
- 在 Linux 语境中,大家常说的“swapper”通常指的是内核的交换机制(swap)与其倾向性参数vm.swappiness。该参数取值范围为0–100:
- 0:尽可能使用物理内存,尽量避免使用 swap(极端,可能导致内存紧张时 OOM)。
- 100:积极使用 swap,尽量把不活跃页换出到磁盘。
- Ubuntu 桌面版默认值通常为60,很多场景下调到10–30更均衡,具体取决于内存大小与负载类型。
查看与临时调整 Swappiness
- 查看当前值:
- cat /proc/sys/vm/swappiness
- 临时修改(重启后失效):
- sudo sysctl vm.swappiness=10
- 建议先用临时值观察系统响应(如应用启动、编译、内存压力测试),再决定是否永久设置。
永久调整 Swappiness
- 写入配置文件使其永久生效:
- echo ‘vm.swappiness=10’ | sudo tee -a /etc/sysctl.conf
- 或编辑 /etc/sysctl.conf,在末尾添加:vm.swappiness=10
- 使配置立即生效(无需重启):
- sudo sysctl -p
- 如需恢复默认,可将值改回60或删除该行后执行 sysctl -p。
调整 Swap 优先级与多交换源
- 当存在多个交换源(如交换分区 + 交换文件或不同磁盘上的交换分区)时,可用优先级控制使用顺序,数值越大优先级越高(默认通常为**-1**,由内核自动分配)。
- 查看当前交换:
- swapon --show 或 cat /proc/swaps
- 设置优先级(示例将某分区设为高优先级):
- 先关闭全部交换:sudo swapoff -a
- 启用并指定优先级:sudo swapon -p 100 /dev/nvme0n1p6
- 如需使用交换文件,同样支持 -p 参数;也可在 /etc/fstab 中为对应条目追加 pri= 值(如:/swapfile none swap sw,pri=100 0 0)
- 注意:调整优先级前建议先 swapoff -a,修改完成后再 swapon -a 启用,以避免异常。
实用建议与监控
- 一般桌面/开发机内存充足时,可将 swappiness 设为10–20;内存较小或存在大量后台服务时,可尝试20–30,再结合监控微调。
- 监控与验证:
- 内存与 swap 使用:free -h
- 交换启用与优先级:swapon --show 或 cat /proc/swaps
- 若你确实需要“创建/调整/删除”交换文件或分区,可参考:创建交换文件(如 4GB)fallocate -l 4G /swapfile → chmod 600 → mkswap → swapon;调整大小需先 swapoff、再重建/扩容、再 swapon;删除则 swapoff 后 rm 并从 /etc/fstab 移除对应行。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu如何调整swapper参数
本文地址: https://pptw.com/jishu/750367.html
