最近我的博客经常莫名连不上数据库, 后来查看发现是由于内存不足造成了系统将MySQL进程给关闭了, 输入命令free -m, 发现系统并未设置SWAP, 如下图所见:
所以想到自己给系统划出一块swap
首先, 在根目录下新建一个文件夹swap
$ mkdir /swap
之后我们使用dd命令生成一个空文件, 由于我VPS的内存是1G, 所以我给swap划分一块2G大小的空间, 命令如下:
$ cd /swap
$ dd if=/dev/zero of=swap.img bs=1M count=2048
# 执行结果如下:
2048+0 records in
2048+0 records out
2147483648 bytes (2.1 GB) copied, 4.16096 s, 516 MB/s
这个时候我们使用mkswap命令将生成的空文件格式化为swap格式
$ mkswap swap.img
# 执行结果如下:
Setting up swapspace version 1, size = 2097148 KiB
no label, UUID=3a5d676d-41e9-4945-becd-b8e9fef18118
此时我们需要做的就是激活swap
$ swapon swap.img
再执行free -m命令查看结果, 如下图所示:
这样我们就已经手动添加了swap, 可是机器重启后需要我们手动挂载, 所以我们还需将分区信息写入/etc/fstab, 添加如下信息
/swap/swap.img swap swap defaults 0 0
现在我们即便重启服务器也不怕丢失swap空间了
时间: 2024-11-09 06:21:07