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 /swapfile
sudo chmod 600 /swapfile
另外,如果是要將文件或是裝置轉換為 Swap 空間,可以使用 mkswap
。
sudo mkswap /swapfile
sudo swapon /swapfile
並且為了讓 Swap 空間在系統重啟後依然有效,我們可能會需要編輯 /etc/fstab
這份文件,在裡面加入以下設定:/swapfile swap swap defaults 0 0
以上的步驟都做完之後,你應該可以透過 htop
看到 swap 空間已經被擴大了。