swap虚拟内存设置方法
最近,发现网站的数据库连接不上,而且持续有一段时间了。主要还是平时太少管理网站,所以隔了几天才发现。
重启后,数据库恢复正常,但一分钟不到,内存不足,又挂了。
经过排查,原来是没使用swap虚拟内存。开启后,妥妥的稳定运行。
关闭配置文件/etc/fstab
中所有的交换空间
sudo swapoff -a
一、创建交换分区的文件:增加2G大小的交换分区
sudo dd if=/dev/zero of=/var/swapfile bs=1M count=2048
if
代表输入文件。如果不指定if
,默认就会从stdin中读取输入。of
代表输出文件。如果不指定of
,默认就会将stdout作为默认输出。bs
代表字节为单位的块大小。count
代表被复制的块数。/dev/zero
是一个字符设备,会不断返回0值字节(\0)。
块大小可以使用的计量单位表
单位 | 大小 | 代码 |
---|---|---|
字节 | 1B | c |
字节 | 2B | w |
块 | 512B | b |
千字节 | 1024B | k |
兆字节 | 1024KB | M |
吉字节 | 1024MB | G |
二、设置交换分区文件
sudo mkswap /var/swapfile
三、启用交换分区
sudo swapon /var/swapfile
四、写入/etc/fstab
,以便在引导时启用
echo '/var/swapfile swap swap defaults 0 0'>>sudo /etc/fstab
五、查看swap
的情况
free -m