Custom-Swap-Setup

311 字
2 分钟
Custom-Swap-Setup

自定义Swap#

1. 命令行临时方式#

Terminal window
# 创建 1GB 临时 swap 文件
sudo fallocate -l 1G /tmp/myswapfile
# 设置权限
sudo chmod 600 /tmp/myswapfile
# 格式化成 swap
sudo mkswap /tmp/myswapfile
# 启用 swap
sudo swapon /tmp/myswapfile
# 查看内存
free -h

删除Swap(关机自动删除#

Terminal window
sudo swapoff /tmp/myswapfile
rm /tmp/myswapfile

2. 自启动脚本方式#

创建swap脚本/home/auto/create-swap.sh

Terminal window
sudo nano /home/auto/create-swap.sh
#!/bin/bash
SWAPFILE=/swapfile
SWAPSIZE=1G # 你可以改大小
# 如果 swap 文件不存在,就创建
if [ ! -f $SWAPFILE ]; then
fallocate -l $SWAPSIZE $SWAPFILE
chmod 600 $SWAPFILE
mkswap $SWAPFILE
fi
# 启用 swap
swapon $SWAPFILE

授予执行权限

Terminal window
chmod +x /home/auto/create-swap.sh

创建 systemd 服务 /etc/systemd/system/tempswap.service

Terminal window
sudo nano /etc/systemd/system/tempswap.service
Terminal window
[Unit]
Description=Temporary Swap Service
DefaultDependencies=no
After=local-fs.target
Before=multi-user.target
[Service]
Type=oneshot
ExecStart=/home/auto/create-swap.sh
RemainAfterExit=true
[Install]
WantedBy=multi-user.target

启动服务

Terminal window
systemctl daemon-reload
systemctl enable tempswap.service
systemctl start tempswap.service

删除脚本#

删除脚本内容(清除所有)

Terminal window
nano /home/auto/remove_tempswap.sh
#!/bin/bash
# 停止并禁用 service
echo "Stopping and disabling tempswap.service..."
systemctl stop tempswap.service 2>/dev/null
systemctl disable tempswap.service 2>/dev/null
# 删除 service 文件
if [ -f /etc/systemd/system/tempswap.service ]; then
echo "Removing /etc/systemd/system/tempswap.service..."
rm -f /etc/systemd/system/tempswap.service
fi
# 重新加载 systemd 配置
systemctl daemon-reload
# 删除创建 swap 的脚本
if [ -f /home/auto/create-swap.sh ]; then
echo "Removing /home/auto/create-swap.sh..."
rm -f /home/auto/create-swap.sh
fi
# 关闭 swap 并删除 swap 文件
if swapon --show | grep -q '/swapfile'; then
echo "Turning off swap..."
swapoff /swapfile
fi
if [ -f /swapfile ]; then
echo "Removing /swapfile..."
rm -f /swapfile
fi
echo "Temporary swap service

授予脚本权限

Terminal window
chmod +x /home/auto/remove_tempswap.sh

运行

Terminal window
sudo /usr/local/bin/remove_tempswap.sh

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

Custom-Swap-Setup
https://blog.civer.cn/posts/custom-swap-setup/
作者
Quisper
发布于
2025-10-06
许可协议
CC BY-NC-SA 4.0
最后更新于 2025-10-06,距今已过 155 天

部分内容可能已过时

Profile Image of the Author
Quisper
Hello, I'm Quisper.
公告
溯万物之源起,记一叶之清秋。欢迎来到我的博客!很高兴认识你👋
音乐
封面

音乐

暂未播放

0:00 0:00
暂无歌词
分类
标签
站点统计
文章
8
分类
2
标签
14
总字数
10,622
运行时长
0
最后活动
0 天前
总访问量
0
总访客数
0

目录