linux服务器迁移swap文件地址
第一步:确认有足够空间创建新交换文件
首先确认 /data 分区有足够空间(至少 3.8G):
df -h /data
第二步:创建新的交换文件(热迁移)
# 1. 创建与旧文件大小相同的新交换文件(3.8G)
sudo fallocate -l 3.8G /data/swap.img
# 如果 fallocate 不支持,使用:
# sudo dd if=/dev/zero of=/data/swap.img bs=1M count=3891 status=progress
# 2. 设置正确权限
sudo chmod 600 /data/swap.img
# 3. 格式化为交换空间
sudo mkswap /data/swap.img
# 4. 启用新交换文件
sudo swapon /data/swap.img
# 5. 验证两个交换文件都已启用
sudo swapon --show
此时应该看到两个交换文件同时存在。
第三步:迁移数据并移除旧交换文件
# 1. 停用旧交换文件(数据会自动迁移到新文件或内存)
sudo swapoff /swap.img
# 2. 验证新交换文件正常工作
sudo swapon --show
free -h
# 应该只显示 /data/swap.img,且 USED 列显示约 3.1G
# 3. 删除旧文件
sudo rm /swap.img
第四步:更新开机配置
# 编辑 fstab
sudo nano /etc/fstab
# 找到类似下面这行并删除或注释掉:
# /swap.img none swap sw 0 0
# 添加新行:
/data/swap.img none swap sw 0 0
# 保存并退出
# 验证配置
sudo mount -a
特别注意点
- 操作顺序很重要 :一定要先创建并启用新交换文件,然后再停用旧的
- 关于 "3.1G 已使用" :
- 当前交换空间使用率很高(3.1G/3.8G ≈ 82%)
- 但您的可用内存有 4.9G,足够容纳这些数据
- 停用旧交换文件时,3.1G 数据会平滑迁移到新文件或内存中
- 如果
swapoff卡住 :- 说明系统正在迁移数据,这是正常现象
- 可以打开另一个终端,用
free -h观察内存和交换空间的变化 - 等待几分钟,直到命令完成
- 数据安全性 :
- 整个过程中,交换空间始终存在,系统不会因为突然没有交换空间而出问题
- 内存压力不会突然增大
您现在可以按照上述步骤操作。如果在执行 sudo swapoff /swap.img 时遇到任何问题(比如提示内存不足或命令卡住),请立即停止并告诉我具体情况。
标题:linux服务器迁移swap文件地址
作者:michael
地址:https://blog.junxworks.cn/articles/2026/03/19/1773901966535.html