搬瓦工VPS進階優化:手動添加SWAP交換分區
更多語言
更多操作
一、 為什麼需要設置 SWAP?
許多 BandwagonHost 的高性價比套餐(如 The Plan、Micro 方案)配備的物理內存(RAM)可能在 512MB 到 2GB 之間。當你在 VPS 上運行數據庫(MySQL)、Web 面板或 Docker 容器時,一旦物理內存耗盡,Linux 系統機制(OOM Killer)會強制殺掉占用內存最高的進程,導致網站打不開或數據庫停止運行。
SWAP(交換分區)可以將硬盤空間模擬為內存使用。雖然速度不如物理內存,但它能為系統提供關鍵的「緩衝」,有效防止程序因瞬間內存不足而崩潰。
二、 檢查當前 SWAP 狀態
在 SSH 終端中輸入以下命令:
free -h
如果在輸出結果中,Swap: 這一行的 total 顯示為 0B,說明你的 VPS 尚未配置交換分區,建議按照以下步驟添加。
三、 手動添加 SWAP 步驟 (以添加 1GB 為例)
註:BandwagonHost 的 KVM 架構完全支持手動管理 SWAP。
1. 創建交換文件
使用 fallocate 命令創建一個 1GB 大小的文件(如果需要 2GB,請將 1G 改為 2G):
sudo fallocate -l 1G /swapfile
- (如果提示 fallocate 未找到,也可以使用:
sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576)*
2. 設置權限
為了安全,需要限制該文件的訪問權限:
sudo chmod 600 /swapfile
3. 格式化為交換分區
將文件轉換為 swap 格式:
sudo mkswap /swapfile
4. 啟用 SWAP
激活該交換文件:
sudo swapon /swapfile
再次輸入 free -h,你應該能看到 Swap 總量增加了。
四、 設置開機自動掛載
默認情況下,重啟 VPS 後上述設置會失效。我們需要修改 /etc/fstab 文件。
1. 使用編輯器打開文件:
sudo nano /etc/fstab
2. 在文件末尾添加以下內容:
/swapfile swap swap defaults 0 0
3. 按 Ctrl + X,輸入 Y,然後回車保存退出。
五、 優化 Swappiness 值 (進階)
swappiness 參數決定了系統使用 Swap 的積極程度(0-100)。搬瓦工 VPS 使用的是高速 SSD,我們可以適當允許系統使用 Swap,但仍應優先使用物理內存。
建議將值設置為 10(表示物理內存剩餘 10% 時才開始大量使用 Swap):
- 臨時修改:
sudo sysctl vm.swappiness=10
- 永久生效:
編輯配置文件 sudo nano /etc/sysctl.conf,在末尾添加:
vm.swappiness=10
保存後執行 sudo sysctl -p 使配置生效。
六、 總結
通過添加 SWAP,可以顯著提升搬瓦工小內存 VPS 的穩定性,特別是對於運行 WordPress、寶塔面板或 Docker 環境的用戶,這是除了開啟 BBR 之外最推薦的系統優化操作。