原贴防挂记录此文章
渣渣线上服务器mvn package等等的时候经常Cannot allocate memory,其实是够的,但是
阿里云服务器默认没有开启虚拟内存,经常遇到软件内存不足,运行崩溃的情况。
为了减少购买昂贵的内存资源,可以暂时使用虚拟内存代替(根据运行的程序需求,性能会降低一些)。
这个技术在云服务器上使用,可以省很多银子的哦!!!
1、查看内存使用情况
free -m
root@supermap:/swap# free -m
total used free shared buffers cached
Mem: 488 480 8 0 1 337
-/+ buffers/cache: 141 346
Swap: 0 0 0
虚拟内存空间竟然为0,实在是没有想到!!!
2、创建虚拟内存磁盘卷
大概count=2024288,2G左右,可以视磁盘大小和需求创建。
默认存放在/swap/swapadd,可以是自己的任何目录。阿里云服务器默认没有swap,需要自己mkdir /swap创建。
dd if=/dev/zero of=/swap/swapadd bs=1024 count=2024288
3、将磁盘卷转为虚拟内存卷
mkswap /swap/swapadd
4、启用虚拟内存服务
swapon /swap/swapadd
5、再来查看内存使用情况
root@supermap:/swap# free -m
total used free shared buffers cached
Mem: 488 480 8 0 1 337
-/+ buffers/cache: 141 346
Swap: 1976 0 1976
多出来2G左右的swap空间。
6、关闭虚拟内存服务
swapoff -v /swap/swapadd
7、移动虚拟内存空间
如果当前的虚存所在的磁盘空间不够,可以首先关闭虚存服务,将其移动到别的磁盘,再启用即可。
swapoff -v /swap/swapadd
mv /swap/swapadd /mnt/swap
swapon /swap/swapadd
嗯,这个技术在云服务器上使用,可以省很多银子的哦!!!