在前面的篇章中,我們依序完成了常駐服務部署、網路防火牆邊界防護(UFW)以及伺服器遠端存取加固(純金鑰 SSH 認證)。至此,這台 Linux 主機已具備了對外提供服務的基礎安全與架構。
然而,伺服器上線後並非一勞永逸。背景運行的程序是否佔用過多運算資源?資料庫或日誌檔案是否正悄悄吃滿硬碟空間?系統是否因為記憶體耗盡而即將面臨崩潰?在日常維運中,合格的系統工程師必須具備「系統資源量測與健康度診斷」的能力。
今天我們將深入探討 Linux 伺服器中最核心的三項效能監控工具:htop(CPU 與程序負載)、free(記憶體使用率)與 df(磁碟儲存空間),建立系統狀態的第一道監控防線。
1. CPU 與程序即時監控
Linux 傳統內建的程序檢視工具是 top,但文字介面較為陽春且難以直覺操作。現在通常會安裝更加視覺化、支援色彩顯示與鍵盤互動的 htop。
(1)安裝 htop
sudo apt update
sudo apt install -y htop
(2)啟動並解讀監控畫面
直接在終端機輸入:
htop
進入畫面後,整體資訊可分為三大區塊:

2.記憶體容量剖析
在監控伺服器時,常會有一個問題讓人感到困惑:
「我的程式明明沒做什麼事,為什麼 Linux 的記憶體快被吃光了?」
使用人性化可讀格式檢視記憶體狀態:
free -h
輸出範例:
欄位解析:
3.磁碟儲存空間監控:df 與 du 的搭配運用
磁碟滿載是伺服器運行中最常見的隱形殺手。一旦根目錄(/)空間達到 100%,系統日誌將無法寫入、資料庫無法更新,甚至會引發許多背景服務直接崩潰中斷。
(1)檢視整體磁碟分割區容量(df)
透過 df -h(Disk Free)快速檢視各個檔案系統的掛載點與剩餘容量:
df -h
輸出範例:
(2)定位肥大檔案與目錄(du)
若發現磁碟空間不足,需要找出「到底是哪個目錄把空間吃掉」,此時應使用 du(Disk Usage)。
檢測特定目錄下各子目錄的佔用容量(以根目錄 / 下的第一層為例):
sudo du -h --max-depth=1 / 2>/dev/null | sort -hr | head -n 10
指令拆解:

4.清除非必要的系統日誌與快取
若檢查後發現磁碟空間緊張,可使用以下兩項維運清理手法:
(1)清理 Systemd Journal 日誌保留量
Systemd 會持續記錄所有背景服務的輸出日誌,日積月累會佔用大量空間。可透過以下指令將日誌總量限制在安全範圍內:
# 限制日誌保留總容量上限為 200M
sudo journalctl --vacuum-size=200M
# 限制僅保留最近 7 天內的日誌
sudo journalctl --vacuum-time=7d
(2)清理 apt 套件暫存包
每次透過 apt install 下載的 .deb 安裝包預設會留存在快取目錄中:
sudo apt clean
執行後可安全釋放暫存檔案,完全不影響既有已安裝的軟體運作。
|明日目標:明天將學習如何使用 ping、curl、netstat\檢測對外連線狀態與本機連接埠監聽清單,排查各類網路不通的疑難雜症。|