Linux服务器之:阿里云ecs设置swap虚拟内存--CentOS7

1、场景

闲来无事买了一个阿里云ecs服务器(乞丐版1核1G, Linux centos7), 今天操作docker容器时 , 一直报错:fatal error: runtime: out of memory
在这里插入图片描述
网上查询是内存不足溢出的原因, 于是看到可以使用设置虚拟内存的方式解决.

参考文章:https://my.oschina.net/u/2306127/blog/657269?p=
参考文章:https://www.jianshu.com/p/682c35ff1352

2、查看内存使用情况

free -m

在这里插入图片描述
虚拟内存空间竟然为0,这是因为阿里云ecs服务器默认关闭swap

3、创建虚拟内存磁盘卷

dd if=/dev/zero of=/swap/swapadd bs=1024 count=2024288

在这里插入图片描述
4、将磁盘卷转为虚拟内存卷

mkswap /swap/swapadd

5、启用虚拟内存服务

swapon /swap/swapadd

6、再来查看内存使用情况
在这里插入图片描述
多出来2G左右的swap空间。

7、关闭虚拟内存服务

swapoff -v /swap/swapadd

8、移动虚拟内存空间

如果当前的虚存所在的磁盘空间不够,可以首先关闭虚存服务,将其移动到别的磁盘,再启用即可。

swapoff -v /swap/swapadd
mv /swap/swapadd /mnt/swap
swapon /swap/swapadd

9、检查swap是否已打开

cat /proc/swaps #或者free -m

10、使系统开机时自启用,在文件/etc/fstab中添加一行:

/swap/swapadd swap swap defaults 0 0

11、配置系统采用虚拟内存的百分比

swappiness的值的大小对如何使用swap分区是有着很大的联系的。swappiness=0的时候表示最大限度使用物理内存,然后才是swap空间,swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。

vim /etc/sysctl.conf

在最后一行补充

vm.swappiness = 60

保存退出后执行命令:

sysctl -p

12、卸载删除

swapoff /swap/swapadd #卸载swap文件
并修改/etc/fstab文件 #从配置总删除
rm -rf /swap/swapadd #删除文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值