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

搬瓦工伺服器入門級性能優化(避免資源浪費/不必要的服務)

出自md5.pw
於 2026年3月22日 (日) 07:37 由 Leida留言 | 貢獻 所做的修訂 (搬瓦工服务器入门级性能优化(避免资源浪费/不必要的服务))
(差異) ←上個修訂 | 最新修訂 (差異) | 下個修訂→ (差異)

當你拿到一台全新的搬瓦工(BandwagonHost)VPS 時,尤其是購買了 512MB 或 1GB 內存的入門級特價套餐,你可能會覺得資源非常侷促。

很多新手都有一個誤區:覺得 VPS 只要不裝業務軟體,內存就是完全空閒的。其實不然。現代的 Linux 作業系統(尤其是 Ubuntu)為了照顧各種複雜的物理機環境,默認在後台塞進了大量我們根本用不到的系統服務。

這些服務就像寄生蟲一樣,每個吃掉 10MB、20MB 的內存,加在一起就能吃掉一兩百兆。對於小內存機器來說,這簡直是巨大的浪費。

這篇文章將教你如何給一台剛剛重裝好 Ubuntu 或 Debian 系統的 VPS 進行「深度瘦身」。我們將通過卸載和禁用不必要的服務,把被白白浪費的硬體資源全部搶回來。


一、 認清現實:你的內存被吃掉了多少?

在動手優化之前,我們先看看系統當前的真實資源占用情況。通過 SSH 連接到你的 VPS,輸入以下命令:

free -h

觀察 used(已使用)這一列。你會發現,一台什麼業務都沒跑的全新 Ubuntu 22.04 系統,可能已經占用了 200MB 甚至 300MB 的內存。對於一台只有 512MB 內存的機器來說,一半的命已經沒了。

接下來,我們開始逐一清理這些毫無用處的後台進程。


二、 卸載與禁用不必要的服務

請注意,以下操作和命令主要針對搬瓦工 KiwiVM 面板里最主流的 Ubuntu 20.04 / 22.04 以及 Debian 11 / 12 系統。請逐行複製執行。

1. 徹底卸載 Snap 服務 (僅限 Ubuntu)

這是什麼: Snap 是 Ubuntu 官方強推的一種軟體安裝包格式。它的缺點是啟動極慢、占用大量內存,並且會在系統裡生成十幾個虛擬的只讀磁碟(使用 df -h 命令時看到的那一堆 /dev/loop 就是它干的)。作為 VPS 玩家,我們平時全靠 Docker 和 apt 來安裝軟體,根本用不到 Snap。

清理命令:

# 停止所有 Snap 服务
systemctl stop snapd
systemctl disable snapd

# 彻底卸载 snapd 及其所有关联组件
apt purge snapd -y

# 清理残余的缓存和文件夹
rm -rf /snap
rm -rf /var/snap
rm -rf /var/lib/snapd

執行完畢後,你的系統不僅會省出幾十兆內存,使用 df -h 看磁碟空間時也會清爽很多。

2. 禁用雜項硬體服務

這是什麼: Linux 系統為了能夠運行在各種物理電腦上,默認開啟了許多硬體檢測服務。

  • udisks2:用來檢測你有沒有往電腦上插 U 盤的。
  • multipathd:用來管理企業級存儲陣列的。
  • ModemManager:用來檢測有沒有插 3G/4G 撥號上網卡的。
  • rpcbind:用來掛載老式的 NFS 網絡硬碟的。

你的 VPS 是一台安靜躺在機房裡的虛擬機,根本不可能有人去給它插 U 盤或者撥號上網。這些服務全都在白白浪費內存。

清理命令:

我們將它們全部停止,並禁止開機自啟:

systemctl disable --now udisks2.service
systemctl disable --now multipathd.service
systemctl disable --now multipathd.socket
systemctl disable --now ModemManager.service
systemctl disable --now rpcbind.service
systemctl disable --now rpcbind.socket

3. 禁用無用的網絡等待服務

這是什麼:NetworkManager-wait-online 是一個在系統開機時,強制等待所有網絡接口都連接上網際網路後,才允許系統繼續啟動的服務。它經常會導致 VPS 開機極其緩慢。VPS 的網絡是由宿主機直接分配的固定網絡,不需要這種複雜的等待機制。

清理命令:

systemctl disable --now NetworkManager-wait-online.service
systemctl mask NetworkManager-wait-online.service

三、 限制系統日誌的無底洞

這是什麼: Linux 系統內置了一個叫 systemd-journald 的日誌守護進程。它會記錄系統發生的所有事情。默認情況下,它不僅會把日誌寫在硬碟上,還會把最近的日誌暫存在內存里。如果不加限制,它會吃掉你幾十兆甚至上百兆的寶貴內存,同時日積月累撐爆硬碟。

我們需要修改它的配置文件,給它定一個死規矩:最多只能使用 50MB 的空間。

優化步驟:

打開日誌配置文件:

nano /etc/systemd/journald.conf

使用方向鍵向下滾動,找到 SystemMaxUse= 這一行(前面可能有個 # 號)。 把 # 號刪掉,並修改為 SystemMaxUse=50M。 再找到 RuntimeMaxUse= 這一行,去掉 # 號,修改為 RuntimeMaxUse=50M

修改後的這兩行應該長這樣:

SystemMaxUse=50M
RuntimeMaxUse=50M

按下 Ctrl+O 保存,回車確認,然後按下 Ctrl+X 退出編輯器。

重啟日誌服務讓配置生效:

systemctl restart systemd-journald

四、 優化虛擬內存 (Swap) 的使用策略

這是什麼: Swap 就是拿一部分硬碟空間當內存用。當物理內存快滿的時候,系統會把一些不常用的數據塞進硬碟里,防止機器死機。 決定系統「有多積極去使用 Swap」的參數叫 swappiness。它的值在 0 到 100 之間。

  • 值越大(比如 Ubuntu 默認的 60):系統只要內存稍微用了一點,就會急急忙忙把數據往硬碟里寫。由於硬碟速度遠比不上真正的內存,這會導致你的 VPS 變得非常卡頓。
  • 值越小:系統會儘可能地使用真正的物理內存,只有在萬不得已的時候才去動用硬碟。

對於普通的建站和容器部署,我們希望機器運行得儘量快,所以要把這個傾向值調低,建議設置為 10

優化步驟:

首先,臨時修改當前系統的 swappiness 值為 10:

sysctl vm.swappiness=10

然後,為了保證重啟後依然生效,我們需要把它寫進系統配置文件里:

echo "vm.swappiness=10" >> /etc/sysctl.conf

這樣,你的機器就只會優先使用速度極快的物理內存了。


五、 保持架構的絕對純淨

其實,入門級 VPS 最有效的性能優化方案,並不是敲多少行命令,而是控制你的部署欲望。

很多新手喜歡一上來就安裝寶塔面板(BT Panel)或者 1Panel 等重型可視化管理面板。這些面板本身就會吃掉至少 200MB 到 300MB 的內存。對於 1GB 內存的機器來說,裝完面板,留給真正業務的資源就所剩無幾了。

極簡運維建議: 放棄那些臃腫的面板環境,直接使用 原生 Docker + 純 IP 埠直連 的模式。 你要運行監控探針,就單獨跑一個探針容器;你要運行個人導航頁,就跑一個導航頁容器。不需要反向代理,不需要資料庫環境的預裝。只要你在系統的 UFW 防火牆裡把對應的埠放行,直接通過 http://你的IP:端口 訪問即可。


六、 驗收成果

當你把上述第一到第四步的命令全部執行完畢後,建議直接重啟一次伺服器:

reboot

等待 1 分鐘後重新連上 SSH。再次輸入查看內存的命令:

free -h

你會驚喜地發現,原本開機占用兩三百兆的系統,現在的 used 內存可能已經降到了 100MB 左右,甚至更低。這節省出來的 100 多兆內存,足夠你多跑兩三個有用的 Docker 容器了。