Skip to content

[Linux] 使用指令增加 Swap 空間來避免記憶體耗盡

Last Updated on 2023-12-10 by Clay

什麼是 Swap?

Swap 空間在 Linux 作業系體中扮演著重要角色。它可以被理解為是虛擬記憶體空間,名稱就是交換swap)的意思,能夠在系統實體記憶體RAM)不夠用的時候,把記憶體比較少用到的資料暫時寫到一個固定的硬碟空間來保證系統穩定運行 —— 這個空間就是 Swap。

如果 Swap 空間設置得太小,當系統的實體記憶體被完全用盡時,先不說會導致系統效能降低,甚至可能會出現程式無法執行或系統崩潰的情況。


擴大 Swap 空間的指令

由於系統可能已經預設使用了一個空間作為 swap,所以我們必須先將其卸載。(這裡假設為 /swapfile

sudo swapoff /swapfile



接下來我們可以透過 fallocate 來建立一個 Swap 文件,如果與原先的同名,則會直接覆蓋過去。比方說,如果我們要建立一個 4GB 的 Swap:

sudo fallocate -l 4G /swapfilesudo chmod 600 /swapfile


另外,如果是要將文件或是裝置轉換為 Swap 空間,可以使用 mkswap

sudo mkswap /swapfile
sudo swapon /swapfile


並且為了讓 Swap 空間在系統重啟後依然有效,我們可能會需要編輯 /etc/fstab 這份文件,在裡面加入以下設定:/swapfile swap swap defaults 0 0

以上的步驟都做完之後,你應該可以透過 htop 看到 swap 空間已經被擴大了。


References


Read More

Tags:

Leave a Reply