添加阿里云服务器的swap分区
阿里云默认没有开启swap分区!小内存测试服务器常爆机!
Cannot allocate memory - identify
Cannot allocate memory - convert -size 240x240 xc:'rgb(142,125,214)' -pointsize 140 -font
查看 swap 空间大小
$ sudo swapon -s
Filename Type Size Used Priority
首先先登录root
sudo su -
1、创建用于交换分区的文件:
# dd if=/dev/zero of=/mnt/swapfile bs=1k count=1024000
1024000+0 records in
1024000+0 records out
1048576000 bytes (1.0 GB) copied, 17.7815 s, 59.0 MB/s
2、设置交换分区文件:
# mkswap /mnt/swapfile
Setting up swapspace version 1, size = 1023996 KiB
no label, UUID=c09e7797-1481-4d87-a620-29aa24ede564
3、立即启用交换分区文件
swapon /mnt/swapfile
# free -m
total used free shared buffers cached
Mem: 992 914 77 0 5 70
-/+ buffers/cache: 839 153
Swap: 999 0 999
注:如果在 /etc/rc.local 中有 swapoff -a 需要修改为 swapon -a
4、设置开机时自启用 SWAP 分区:
需要修改文件 /etc/fstab 中的 SWAP 行,添加
# echo "/mnt/swapfile swap swap defaults 0 0" >>/etc/fstab
注:/mnt/swapfile 路径可以修改,可以根据创建的 SWAP 文件具体路径来配置。
5、修改 swpapiness 参数
# echo 30 >/proc/sys/vm/swappiness
可以使用下述方法临时修改此参数,假设我们配置为空闲内存少于 30% 时才使用 SWAP 分区:
# vim /etc/sysctl.conf
vm.swappiness=30
# sysctl -p
ref:
http://coderschool.cn/1486.html
http://stackoverflow.com/questions/11013755/rails-assets-pipeline-cannot-allocate-memory-nodejs