在資源有限的伺服器環境中,交換空間(虛擬記憶體)可以提供額外的記憶體支援,防止系統由於實體記憶體耗盡而崩潰。在這篇部落格中,我們將介紹如何檢查伺服器是否啟用了交換空間以及如何建立和啟用交換空間。
檢查當前交換空間狀態
首先,我們需要確認當前伺服器上是否已經啟用了交換空間。可以使用以下方法:
使用 free
命令
free
命令可以顯示系統的記憶體使用情況,包括交換空間:
free -h
典型的輸出示例如下:
total used free shared buff/cache available Mem: 7.8G 2.7G 3.4G 133M 1.6G 4.7G Swap: 2.0G 0B 2.0G
在此示例中,Swap
部分顯示了交換空間的總量、已用量和剩餘量。
使用 swapon
命令
swapon
命令可用於顯示交換空間的詳細資訊:
swapon --show
你將看到類似以下輸出:
NAME TYPE SIZE USED PRIO /swapfile file 2G 0B -2
檢視 /proc/swaps
檔案
也可以透過檢視 /proc/swaps
檔案來了解當前的交換空間:
cat /proc/swaps
該檔案將列出當前啟用的交換分割槽和檔案。
啟用交換空間的教程
如果發現伺服器上沒有啟用交換空間,可以按照以下步驟建立和啟用一個新的交換檔案。
1. 建立交換檔案
使用 fallocate
命令建立一個2GB的交換檔案(如果需要其他大小的交換檔案,可以調整 2G
為所需大小):
sudo fallocate -l 2G /swapfile
2. 設定交換檔案許可權
爲了確保只有 root
使用者能夠讀寫交換檔案,執行以下命令:
sudo chmod 600 /swapfile
3. 設定交換區域
將這個檔案設定為交換區域:
sudo mkswap /swapfile
4. 啟用交換檔案
啟用該交換檔案:
sudo swapon /swapfile
5. 驗證交換空間是否啟用
驗證交換空間已經啟用,可以使用以下命令之一:
sudo swapon --show
或者:
free -h
6. 在重啟時自動啟用交換檔案
爲了確保在系統重啟時自動啟用交換空間,請將其新增到 /etc/fstab
檔案:
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
總結
透過以上步驟,你已經成功地檢查並在必要時啟用了交換空間。這可以幫助你的伺服器在實體記憶體耗盡時依然保持穩定執行。