阿里云ECS云服务器打开swap虚拟内存避免安装node.js及composer失败
最近准备在阿里云ECS云服务器上安装node.js及composer来做包管理,但死活都装不上,老是报错,开始以为是不是因为被墙的原因造成安装不上,在自己本机的ubuntu server 上试装了一下,也没有翻墙,顺利的装上了,百思不得其解,这个坑耽误了我好几天的时间没有解决。
还要有神奇的谷歌,发现有可能是虚拟内存的问题,然后到阿里云官网搜索了一下,瞬间震精了,阿里云是这么说的:“由于开启swap分区会导致硬盘IO性能下降,因此阿里云服务器初始状态未配置swap”。靠!!!
解决方法就是手动开启swap虚拟内存功能:
[php]
1、创建用于交换分区的文件
sudo dd if=/dev/zero of=/mnt/swap bs=block_size count=number_of_block
注:block_size、number_of_block 大小可以自定义,比如bs=1M count=1024 代表设置1G大小swap分区
2、设置交换分区文件
sudo mkswap /mnt/swap
3、立即启用交换分区文件
sudo swapon /mnt/swap
4、设置开机时自启用swap分区
sudo vim /etc/fstab
[/php]
软后在 /etc/fstab 中加入:
[php]
/mnt/swap swap swap defaults 0 0
[/php]
注:/mnt/swap 路径可以修改,可以根据创建的swap文件具体路径来配置。
设置后可以执行free -m命令查看效果