使用过云服务器(阿里云,腾讯云等)都知道,内存很小,尤其是阿里云,连swap都没给,所以有时候经常会报错,提示“Cannot allocate memory”。那么这时候我们可以考虑增加虚拟内存来解决。
在执行free -m的是时候提示Cannot allocate memory:
[root@Byrd byrd]# free -m total used free shared buffers cached Mem: 512 108 403 0 0 28 -/+ buffers/cache: 79 432 Swap: 0 0 0 [root@Byrd ~]# mkdir /opt/images/ [root@Byrd ~]# rm -rf /opt/images/swap [root@Byrd ~]# dd if=/dev/zero of=/opt/images/swap bs=1024 count=2048000 2048000+0 records in 2048000+0 records out 2097152000 bytes (2.1 GB) copied, 82.7509 s, 25.3 MB/s [root@Byrd ~]# mkswap /opt/images/swap mkswap: /opt/images/swap: warning: don't erase bootbits sectors on whole disk. Use -f to force. Setting up swapspace version 1, size = 2047996 KiB no label, UUID=59daeabb-d0c5-46b6-bf52-465e6b05eb0b [root@hz mnt]# swapon /opt/images/swap [root@hz mnt]# free -m total used free shared buffers cached Mem: 488 481 7 0 6 417 -/+ buffers/cache: 57 431 Swap: 999 0 999 内存太小,增加内存可以解决。