背景
我用随身wifi装了openWrt跑docker,想跑一个wordpress,但是运行了mysql容器和wordpress容器,385.29M的运行内存根本跑不起来。
棒子一直卡死,每次都得重启。在系统看了下没有开启swap内存交换,分一点存储空间作为内存使用吧。
现在开始正文
一、创建swap文件
- 进入/usr目录(任意哪个位置都可以,我这边路径就是/usr/swap/swapfile)
- 创建swap文件夹,并进入该文件夹
- 创建swapfile文件,并执行
# 创建512M的swapfile
dd if=/dev/zero of=/usr/swap/swapfile bs=1M count=512
二、查看swap文件
执行命令
du -sh /usr/swap/swapfile
可以看到我们创建的这个swap文件为512M
三、将目标设置为swap分区文件
执行命令
mkswap /usr/swap/swapfile
将swapfile文件设置为swap分区文件
授予0644或0600权限
chmod 0644 /usr/swap/swapfile
四、激活swap区,并立即启用交换区文件
执行命令
swapon /usr/swap/swapfile
激活swap区,并立即启用交换区文件
再使用命令 free -m 来查看现在的内存,可以看到里面的Swap分区变成了512M,也就是512M虚拟内存
五、设置开机自动启用虚拟内存
方式一:编辑/etc/fstab文件
#没有vim,可以文件复制到本地,改完再放回openwrt
vim /etc/rc.local
然后在文件中添加以下内容:
swapon /usr/swap/swapfile
或者在openwrt后台添加,保存(图片仅作为参考)
方式二:修改/etc/fstab
#没有vim,可以文件复制到本地,改完再放回openwrt
vim /etc/fstab
在最后一行添加
/usr/swap/swapfile swap swap defaults 0 0
或者ssh直接输入命令
echo "/usr/swap/swapfile swap swap defaults 0 0" >> /etc/fstab
六、重启服务器,查看现在的内存是否挂在上,(不重启也可以,一般来说是成功了的)
reboot
free -m