在阿里雲買了個雲服務器,內存1G。編譯php時出現下面的錯誤:
virtual memory exhausted: Cannot allocate memory
問題原因:由於物理內存本身很小,且阿里雲服務器並沒有分配swap空間,當物理內存不夠用時,
物理內存中暫時不用的內容沒地方轉存。
解決方法:手動分配一個swap空間
dd if=/dev/zero of=/swap bs=1024 count=1M #創建一個大小為1G的文件/swap
mkswap /swap #將/swap作為swap空間
swapon /swap #enable /swap file for paging and swapping
echo "/swap swap swap sw 0 0" >> /etc/fstab #Enable swap on boot, 開機后自動生效