买不起高配云服务器,低配内存经常吃紧,给它加点临时内存缓解下。
以下是一个给Linux 系统添加临时内存swap分区的脚本:
#!/bin/bash
# 设置要添加的内存大小,单位是 MB
MEM_SIZE=1024
# 检查并删除旧的 swap 分区
if grep -q "swapfile" /etc/fstab; then
echo "Removing old swap file..."
sed -i '/swapfile/d' /etc/fstab
swapoff /swapfile
rm -f /swapfile
fi
# 创建新的 swap 文件并更正文件权限
echo "Creating new swap file..."
dd if=/dev/zero of=/swapfile bs=1M count=$MEM_SIZE
chmod 600 /swapfile
# 将 swap 文件设置为 swap 分区,并打开 swap 分区
echo "Setting up new swap file..."
mkswap /swapfile
swapon /swapfile
# 添加开机启动项,将 swap 文件挂载为 swap 分区
echo "Adding new swap file to /etc/fstab..."
echo "/swapfile swap swap defaults 0 0" >> /etc/fstab
# 输出成功信息
echo "Added $MEM_SIZE MB swap space."
在添加新的 swap 分区之前,需要查看是否已经存在旧的 swap 分区。如果存在,需要先删除再添加。
在上面的脚本中,它首先检查 /etc/fstab
文件中是否存在旧的 swapfile
。如果存在,则删除旧的 swapfile
并禁用旧的 swap 分区,然后创建一个新的 swapfile
并将其设置为 swap 分区。如果旧的 swapfile
不存在,则直接创建一个新的 swapfile
。在添加新的 swapfile
到 /etc/fstab
并打印出相关信息后,脚本运行结束。
最后,记得运行
chmod +x add_swap.sh
./add_swap.sh
通常这样添加的,在系统关机后,就没了,重启后,还需要的话,就得再次运行这个脚本,如果想开机就有,则需要将这个脚本添加为开机启动即可:
可以将此脚本添加到 rc.local
文件中,以便在系统启动时自动运行它。rc.local
文件存储在 /etc/rc.d
目录中,可以使用以下命令打开它:
sudo vi /etc/rc.d/rc.local
然后,将以下内容添加到文件末尾(确保在 exit 0
前面添加):
/path/to/your/add_swap.sh
请将 /path/to/your/add_swap.sh
替换为实际的脚本路径。
在添加完脚本路径后,保存并退出 rc.local
文件。然后,确保 rc.local
可执行:
sudo chmod +x /etc/rc.d/rc.local
这将使 rc.local
脚本在系统启动时自动运行,并为您的系统添加临时 swap 分区。