切換菜單
切換偏好設定選單
切換個人選單
尚未登入
若您做出任何編輯,會公開您的 IP 位址。

搬瓦工VPS進階優化:手動添加SWAP交換分區

出自md5.pw
這是此頁面最近一次修訂;沒有已批准修訂。

一、 為什麼需要設置 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 之外最推薦的系統優化操作。