问题:服务器报警swap分区用尽,Lack of free swap space on server
解决方法:redis服务器内存没用完,但是swap分区用完的问题?
2.1 创建分区
以下的操作都要在root用户下进行,首先先建立一个分区,采用dd命令比如
dd if=/dev/zero of=/home/swap bs=1024 count=1024000
这样就会创建/home/swap这么一个分区文件。文件的大小是1024000个block,一般情况下1个block为1K,所以这里空间是1G。
2.2 指定分区类型为swap
把分区变成swap分区,使用mkswap命令如下
/sbin/mkswap /home/swap
[root@nf114 ~]# /sbin/mkswap /home/swap
Setting up swapspace version 1, size = 8191996 KiB
no label, UUID=e6b98c77-4a9b-42d4-9746-28bcffccabbb
再接着使用这个swap分区,使其成为有效状态。
/sbin/swapon /home/swap
[root@nf114 ~]# /sbin/swapon /home/swap
swapon: /home/swap: insecure permissions 0644, 0600 suggested.
现在再用free -m命令查看一下内存和swap分区大小,就发现增加了512M的空间了。
2.3 设置扩展的swap分区为自动挂载
不过当计算机重启了以后,发现swap还是原来那么大,新的swap没有自动启动,还要手动启动。
那我们需要修改/etc/fstab文件,增加如下一行如下自动挂载命令行
/home/swap swap swap defaults 0 0