Linux 記憶體不夠用,出現 allocate memory failed 等等的訊息,可以使用 Swap 來暫時頂一下,不過,連原本的 Swap 都不夠用的時候,就暫時建立個 Swap file 來頂一下吧~
Linux 建立使用 Swap file
Linux 要建立 Swap file 的步驟如下: (下述是建立 512M 的 swap,一次讀寫1024bytes,路徑 /tmp、檔名皆可隨意更改)
- sudo su - # 先切成 root 下述操作比較方便
- dd if=/dev/zero of=/tmp/swap-filename bs=1024 count=524288 # 1024 * 512M = 524288 block size
- chown root:root /tmp/swap-filename
- chmod 0600 /tmp/swap-filename
- mkswap /tmp/swap-filename
- swapon /tmp/swap-filename
- 臨時的到此就可以使用了
- 若需要長期使用,在加入下述步驟:
- vim /etc/fstab
- /tmp/swap-filename none swap sw 0 0
- 查看目前 swap 有哪些:swapon -s
另外一個做法:
- fallocate -l 1G /swapfile
- chmod 600 /swapfile
- mkswap /swapfile
- swapon /swapfile