系統監視器把常用的系統指令輸出直接呈現在頁面上,讓您不必登入終端機就能即時掌握閘道器的運作狀況。MailVSR-GW 是站在郵件伺服器前方的閘道器,負責過濾、記錄、灰名單與轉送,因此這一頁最有價值的用途是:確認代理與過濾鏈上的程序是否健在、以及與後端伺服器之間的連線是否正常。
當服務回應變慢、負載異常升高,或需要確認某個程序是否還在跑、某個埠是否被佔用時,這一頁提供最直接的證據。它同時提供對異常程序送出終止訊號的功能。
什麼時候會用到這一頁:
- 郵件處理變慢,想知道是哪個程序吃掉 CPU 或記憶體
- 某個服務(郵件、過濾、防毒、目錄服務)明明有問題,卻不確定它「到底還在不在」
- 某個埠被佔用,導致服務起不來
- 想知道目前有哪些網路連線(誰連進來、連到哪裡、有沒有連到後端)
- 需要看目前實際套用的防火牆規則(而不只是設定畫面)
- 要確認磁碟健康狀態(SMART)或硬體規格
- 需要強制結束一個卡住、無法正常停止的程序
分頁與更新頻率
畫面上方的頁籤由左至右為:top、ps、netstat、ifconfig、iftop、disk、iotop、hwlist、firewall、about。
只有目前開啟的分頁會持續更新,其他分頁不會在背景耗用資源——這是刻意的設計,避免這一頁本身成為負擔。
| 分頁 | 顯示內容 | 更新頻率 |
|---|---|---|
top |
即時程序與資源使用狀況 | 約 3 秒 |
ps |
完整程序清單 | 約 5 秒 |
netstat |
網路連線與監聽埠 | 約 5 秒 |
ifconfig |
網路介面設定 | 約 5 秒 |
iftop |
即時網路流量 | 約 12 秒(每次取樣 5 秒) |
disk |
磁碟使用量與健康狀態 | 約 30 秒 |
iotop |
磁碟 I/O 即時統計 | 約 12 秒(每次取樣 6 秒) |
hwlist |
硬體與核心模組清單 | 約 30 秒 |
firewall |
目前套用的防火牆規則 | 約 5 秒 |
about |
本頁功能說明 | 靜態,不更新 |
iftop 與 iotop 需要先取樣才能算出流量,剛切過去時會顯示「樣本採集中…」,請稍候數秒。進入本頁時系統會在約 1 秒後先在背景取樣一次,因此正常情況下切過去就能直接看到結果。
disk 與 hwlist 的內容變動不大,更新間隔較長(30 秒),這是刻意的設計,不是當掉。
⚠️ 某個分頁顯示「not available」時:代表這台機器上沒有安裝該工具(例如 iftop、iotop、lshw),此時該分頁會直接顯示 iftop: command not available 之類的訊息。這是「沒裝這個工具」,不是系統故障,也不影響其他分頁。
各分頁逐一說明
top:整體負載與即時程序
對應指令為 top 的單次快照(批次模式),是「誰把機器吃滿」的第一站。
上半部要看的四個地方:
- load average(系統負載):三個數字分別是最近 1 分鐘/5 分鐘/15 分鐘的平均負載。判讀方式是與 CPU 核心數比較——例如 4 核心的機器,負載長期高於 4 就代表工作量已超出處理能力;短暫衝高但 15 分鐘的值正常,通常只是瞬間尖峰
- Tasks:程序總數,以及 running/sleeping/stopped/zombie 各有多少。zombie 數量持續增加代表有程序的子程序沒有被回收,值得追查
- %Cpu(s):
us=使用者程序、sy=系統核心、wa=等待磁碟 I/O、id=閒置。wa偏高(例如超過 20%)通常代表磁碟是瓶頸,這時請接著看iotop - MiB Mem / MiB Swap:實體記憶體與置換空間的總量、已用、可用。Swap 使用量持續增加代表實體記憶體不足
下半部程序清單的欄位:PID(Kill 時要用的編號)、USER(執行者)、PR/NI(優先權)、VIRT/RES/SHR(記憶體)、S(狀態:R 執行中、S 睡眠、D 等待 I/O、Z 殭屍)、%CPU/%MEM、TIME+(累計 CPU 時間)、COMMAND(程序名稱)。
ps:完整程序清單
對應指令為 ps auxww。與 top 的差別在於:top 像即時排行榜,ps 則是這一刻所有程序的完整清單,而且命令列不會被截斷。
適合回答「某個程序到底有沒有在跑」——例如確認郵件服務、過濾管線、防毒引擎、目錄服務是否活著,就在 ps 分頁用瀏覽器搜尋(Ctrl+F)該名稱。閘道器上常見的關鍵字:postfix/master、clamd、spamd、slapd、named、postgrey、gwauth。
主要欄位:USER、PID、%CPU、%MEM、VSZ、RSS、TTY、STAT、START、TIME、COMMAND。
STAT 常見值:S 睡眠、R 執行中、D 等待 I/O、Z 殭屍、T 已停止;後面若帶 < 高優先權、N 低優先權、l 多執行緒、s 為 session 領導者。看到 D 狀態的程序很多,通常代表磁碟或網路儲存有問題。
netstat:連線與監聽埠
對應指令為 netstat -tun——t 是 TCP、u 是 UDP、n 表示以數字顯示(不反查 DNS 與服務名稱)。
欄位:Proto、Recv-Q/Send-Q(佇列,持續不為 0 代表來不及處理)、Local Address(本機位址與埠,0.0.0.0:25 代表所有介面都在聽)、Foreign Address(對方位址)、State。
State 常見值:
LISTEN:正在等待連線(服務有正常起來)ESTABLISHED:已建立、正在傳輸TIME_WAIT:連線已結束、等待回收。數量很多是正常的(大量短連線的必然結果),但異常暴增可能代表連線被大量建立又中斷SYN_SENT:已送出連線要求、等待對方回應。大量SYN_SENT通常代表對外連線有問題——在閘道器上這往往意味著連不到後端伺服器
最常用的兩個時機:①確認服務有沒有正常監聽(郵件常用 25/465/587、POP/IMAP 110/143/993、DNS 53、LDAP 389/636);②找出佔用某個埠的程序,再回 ps 用 PID 確認。
ifconfig:網路介面設定
對應指令為 ifconfig -a(含目前未啟用的介面)。
常見介面:對外(WAN)、對內(LAN)、lo(本機迴路)與虛擬介面。欄位:inet(IPv4)、netmask、broadcast、inet6、ether(MAC)、UP/RUNNING、以及 RX packets/TX packets/errors/dropped。
判讀重點:介面顯示 UP 但沒有 RUNNING,通常代表網路線沒接或對端沒通;errors/dropped 持續增加代表線路或網卡有問題。要確認「對外/對內 IP 是否正確」時來這一頁對照(設定畫面在(網路設定 / WAN界面設定)與(網路設定 / LAN界面設定))。
iftop:即時網路流量
對應指令為 iftop,固定監看對外介面 eth0,取樣 5 秒。它回答「現在是誰把頻寬吃掉了」。
每列是一組對談,中間的箭頭代表方向:=> 從本機送出、<= 從對方接收。右側三個數字是不同時間尺度的平均速率(2 秒、10 秒、40 秒),最後一欄是累計量。判讀時要看 40 秒的平均值,只看 2 秒會被瞬間波動誤導。
在閘道器上特別有用:若流量集中在與後端伺服器之間的位址,代表郵件正在大量轉送(正常);若集中在陌生的外部位址,就要查是什麼程序在對外傳輸。
未安裝此工具時分頁會顯示 iftop: command not available。
disk:磁碟使用量與健康狀態
包含三個區塊:
- 使用量(
df -h):每個掛載點的檔案系統、總容量、已用、可用、使用率與掛載位置。空間不足是郵件系統最常見的故障之一——閘道器的日誌與郵件暫存都在本機,請特別注意 - 裝置(
fdisk -l):實際存在的實體磁碟裝置與容量,用來確認硬碟有沒有被正確辨識 - 磁碟健康(
smartctl):對每顆實體硬碟讀取 SMART 資訊(型號、序號、溫度與健康屬性)。這是預測硬碟故障的關鍵資訊;虛擬機器的虛擬碟可能沒有 SMART 資料,此時該區塊會是空的或顯示工具不存在,屬正常現象
iotop:磁碟 I/O 即時統計
對應指令為 iotop(批次模式、以 KB 為單位、取樣 2 次 × 3 秒),用來回答「是哪個程序在大量讀寫磁碟」。硬碟指示燈長亮、系統反應變慢、top 的 wa 偏高時,就來這一頁。
欄位:TID、PRIO、USER、DISK READ/DISK WRITE、SWAPIN、IO>(等待 I/O 的時間比例)、COMMAND。
判讀重點:IO> 高的程序就是瓶頸來源。若排行前面都是郵件或防毒相關程序,通常代表正在處理大量郵件(正常);若是預期外的程序,記下 TID 再到 ps 確認。未安裝時顯示 iotop: command not available。
hwlist:硬體與核心模組清單
包含兩個區塊:
- 硬體清單(
lshw -short):以簡表列出系統、主機板、CPU、記憶體、磁碟、網路卡。回報規格或評估擴充時使用 - 模組清單(
lsmod):目前已載入的核心模組(Module/Size/Used by)。出現非預期的模組時可在此察覺;Used by為 0 表示該模組目前沒有被使用(可能是lshw未安裝而顯示(lshw not available),但模組清單仍會正常顯示)
firewall:目前實際套用的規則
對應指令為 nft list ruleset,也就是核心目前真正生效的 nftables 規則,不是設定畫面裡的內容。排版是階層式的:table(表)→ chain(鏈)→ rule(規則)。
一條規則通常長這樣:
ip saddr 203.0.113.8 tcp dport 25 drop
意思是「來源 IP 為 203.0.113.8、目的埠 25 的 TCP 連線,丟棄」。
最常用的時機:在「防火牆設定」改了規則、卻覺得沒生效時,用這一頁對照最準。若這裡看不到您剛加的規則,代表設定沒有真的套用。 這一頁也會看到連線記錄功能所產生的日誌規則((系統日誌 / 連線記錄))——若您開啟了連線記錄,這裡應該看得到對應的規則。
about:本頁說明
靜態的說明頁,列出本頁提供哪些指令輸出,不會更新。
讀取失敗時顯示的訊息
| 分頁 | 失敗訊息 |
|---|---|
| top | 無法取得 top 資料 |
| ps | 無法取得 ps 資料 |
| netstat | 無法取得 netstat 資料 |
| ifconfig | 無法取得 ifconfig 資料 |
| firewall | 無法取得防火牆規則 |
| iftop | 無法取得 iftop 資料 |
| iotop | 無法取得 iotop 資料 |
| disk | 無法取得磁碟資訊 |
| hwlist | 無法取得硬體清單 |
看到這類訊息通常代表該指令在機器上無法執行或權限異常,請改看(系統日誌 / 主機日誌)找原因。另外 iftop/iotop/lshw 若顯示「command not available」或「not available」,代表該工具未安裝,不是系統故障。
終止程序(Kill)
top 與 ps 兩個分頁的上方有「PID:」欄位與「Kill」按鈕,用來強制結束卡住的程序。
- 在「輸入一個或多個 PID」欄位填入要終止的 PID(多個以空白、逗號或換行分隔,例如
1234 5678) - 按「Kill」
- 成功時顯示「已對 PID :pids 送出 kill 訊號」;失敗時顯示「Kill 失敗::msg」
系統有兩層保護:
- 格式檢查:每個 PID 都必須是正整數,格式不對會直接拒絕(不送出任何訊號)
- 不可終止 PID 1:PID 1 是系統的 init 程序,送出時會被拒絕
送出的是預設的終止訊號(不是強制殺除),因此程序不一定會立刻消失——有些需要幾秒收尾,有些會忽略訊號。若 Kill 後程序仍在,請確認 PID 是否正確,或改由對應的服務管理頁面重啟該服務。
這個動作會寫入操作日誌(記錄為 KILL PID:...),可在(系統日誌 / 操作日誌)查到「誰在什麼時候終止了哪些程序」。
與系統儀表板的差別
- 系統儀表板:圖形化總覽,包含 CPU、記憶體與磁碟使用率、系統服務燈號與流量負載圖,適合每天開起來快速看一眼整體狀況
- 系統監視器:原始指令輸出,資訊更細且更貼近底層,包含完整程序清單、連線明細、網路介面、防火牆規則、磁碟健康與硬體清單,並可終止程序,適合追查特定問題
- 一句話區分:需要「一眼看出哪裡不對」時用儀表板;需要「看到原始資料並採取動作」時用系統監視器
常見情境與判讀
- 「郵件處理變慢」:
top先看wa與 load average 判斷是 CPU 還是 I/O → 若wa高,切iotop找大量讀寫的程序 → 再用disk確認是不是空間快滿 - 「服務起不來」:
netstat看該埠是不是已被其他程序佔用 → 若是,ps找出佔用的程序與 PID → 必要時用 Kill 結束它(並確認該程序不是系統關鍵服務) - 「信一直卡住」:
ps確認郵件與過濾相關程序是否還在 →netstat看連到後端的連線是否ESTABLISHED(若大量SYN_SENT,代表連不到後端)→ 搭配(系統日誌 / SMTP日誌)與(郵件閘道 / 儲列管理) - 「閘道與後端斷了」:
netstat看與後端伺服器位址之間的連線狀態;ifconfig確認介面RUNNING;搭配(網路設定 / 網路測試工具)測試連通性 - 「懷疑硬碟要壞了」:
disk的磁碟健康區塊看 SMART 屬性 → 同時df -h確認空間 → 有異常請及早備份並更換 - 「改過防火牆設定,想確認有沒有生效」:
firewall分頁對照實際規則;看不到剛加的規則時回到(防火牆設定 / 手動防禦設定)重做 - 「被大量連線攻擊」:
netstat看ESTABLISHED/SYN_SENT的數量與來源;搭配(系統日誌 / 連線記錄)與(系統日誌 / 阻斷記錄)確認 - 「要強制停掉卡住的程序」:先
ps確認該 PID 對應的完整命令列確實是您要停的目標,再 Kill
注意事項
- Kill 是立即且無法復原的動作,誤殺系統程序可能造成服務中斷(例如誤殺郵件或目錄服務程序)。送出前請先在
ps確認 PID 對應的程序確實異常 - 頁面上的程序清單與連線明細會隨時間變動,看到可疑項目時建議搭配(系統日誌 / 主機日誌)與(系統日誌 / 操作日誌)交叉確認,避免只憑一瞬間的畫面下判斷
- 這一頁只讀取系統狀態,不會變更任何設定;唯一的例外是 Kill 動作
- 本頁顯示的是「當下這一刻」的狀態,沒有歷史記錄;需要事後回溯請使用(系統日誌 / 主機日誌)
iftop與iotop的數字是取樣估計值,短時間的起伏屬正常現象,請觀察一段時間的趨勢再判斷disk與hwlist的更新較慢(30 秒),剛切換過去時看到的可能是數十秒前的資料,這是正常現象- 工具未安裝(
not available)與讀取失敗(「無法取得…資料」)是兩種不同的狀況:前者是這台機器沒有該工具,後者是工具在但執行失敗