Ubuntu Swapper关闭方法
导读:Ubuntu 关闭 Swapper 的正确方法 一 概念与风险 Swapper在 Ubuntu 中通常指系统的交换空间(swap),用于在物理内存不足时将数据换出到磁盘。完全关闭交换可能导致内存不足时崩溃或 OOM,请在确保有足够物理内存...
Ubuntu 关闭 Swapper 的正确方法
一 概念与风险
- Swapper在 Ubuntu 中通常指系统的交换空间(swap),用于在物理内存不足时将数据换出到磁盘。完全关闭交换可能导致内存不足时崩溃或 OOM,请在确保有足够物理内存、且业务允许的前提下操作。若只是想减少使用,可先调整内核参数 vm.swappiness(默认一般为60)来降低换出倾向。
二 临时关闭(立即生效,重启后恢复)
- 查看当前交换状态:
- 命令:
sudo swapon --show或free -h
- 命令:
- 关闭所有交换:
- 命令:
sudo swapoff -a
- 命令:
- 验证:再次执行
sudo swapon --show,应无输出;free -h中 Swap 为 0。此方式适合测试或短期维护。
三 永久关闭(重启后不再启用)
- 步骤1:先临时关闭
- 命令:
sudo swapoff -a
- 命令:
- 步骤2:处理交换来源
- 交换文件(常见为 /swapfile 或 /swap.img):删除文件
- 命令:
sudo rm /swapfile或sudo rm /swap.img
- 命令:
- 交换分区(如 /dev/sdXN):如需改作他用,先备份数据后格式化
- 命令:
sudo mkfs.ext4 /dev/sdXN(注意:会清空该分区数据)
- 命令:
- 交换文件(常见为 /swapfile 或 /swap.img):删除文件
- 步骤3:禁止开机自动挂载
- 编辑 /etc/fstab:
sudo nano /etc/fstab - 注释或删除所有包含 swap 的行(如:
/swapfile none swap sw 0 0或/dev/sdXN none swap sw 0 0) - 保存退出
- 编辑 /etc/fstab:
- 步骤4:验证并重启
- 验证:
sudo swapon --show无输出 - 重启:
sudo reboot - 说明:某些环境(如云镜像、容器)可能通过其他方式管理 swap,仅编辑 fstab 未必彻底,见下文针对新版本 Ubuntu 的处理。
- 验证:
四 Ubuntu 20.04 及更新版本的注意事项
- 新版本 Ubuntu 使用 systemd.swap 管理交换单元,即使注释了 /etc/fstab,仍可能由 systemd 自动激活交换。可按下列方式彻底屏蔽:
- 屏蔽 swap.target(强烈方式,完全阻止激活):
- 命令:
sudo systemctl mask swap.target - 重启后:
sudo swapon --show应为空 - 如需恢复:
sudo systemctl unmask swap.target
- 命令:
- 或仅让 fstab 中的 swap 条目不自启(较温和):
- 将 fstab 中的 swap 行改为:
/dev/disk/by-uuid/< UUID> none swap noauto 0 0 - 这样该交换不会随
swap.target自动拉起,除非其他单元显式依赖
- 将 fstab 中的 swap 行改为:
- 屏蔽 swap.target(强烈方式,完全阻止激活):
- 建议操作前先确认是否存在由 systemd 生成的 swap 单元:
systemctl list-unit-files | grep swap。
五 仅降低交换使用而非彻底关闭
- 查看当前值:
cat /proc/sys/vm/swappiness - 临时调整(立即生效):
sudo sysctl vm.swappiness=10 - 永久调整:编辑 /etc/sysctl.conf,添加或修改
vm.swappiness=10,然后sudo sysctl -p使配置生效。数值范围 0–100,值越低越倾向使用物理内存。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu Swapper关闭方法
本文地址: https://pptw.com/jishu/748148.html
