全部產品
Search
文件中心

Cloud Monitor:進程監控

更新時間:Jul 08, 2026

CloudMonitor通過安裝在阿里雲主機(ECS執行個體)和非阿里雲主機上的CloudMonitor外掛程式,為您採集最近一段時間內活躍進程的CPU使用率、記憶體使用量率和檔案開啟數。您還可以添加進程監控,查看其進程數,並為這些進程設定警示規則,及時關注進程數的變化,確保其正常運行。

前提條件

請確保您已為阿里雲主機(ECS執行個體)和非阿里雲主機安裝CloudMonitor外掛程式。具體操作,請參見安裝CloudMonitor外掛程式

背景資訊

CloudMonitor每分鐘統計一次CPU消耗Top5的進程,記錄進程的CPU、記憶體使用量率和開啟檔案數。

  • 進程的CPU使用率與記憶體使用量率:您可以參考Linux中的top命令理解這兩個監控項的含義。

  • 進程的開啟檔案數:您可以參考Linux中的lsof命令理解這個監控項的含義。

CloudMonitor採集CPU消耗Top5進程的CPU使用率,可能存在以下問題:

  • 如果您的進程佔用多個CPU,則會出現CPU使用率超過100%的情況,因為採集結果為多核CPU的總使用率。

  • 如果您查詢的時間範圍內,CPU消耗Top5的進程不固定,進程列表會顯示該時間範圍內全部進入過Top5的進程,列表中的時間表示該進程最後一次進入Top5的時間。

  • CloudMonitor只採集CPU消耗Top5進程的CPU使用率、記憶體使用量率和開啟檔案數。如果進程在查詢的時間範圍內未持續進入Top5,則監控圖表中會出現資料點不連續的情況,資料點的密集程度表明了該進程在主機上的活躍程度。樣本如下:

    • Wrapper進程未持續進入主機CPU消耗Top5,監控圖表中的資料點稀疏,且不連續,表示有資料點的時間該進程進入Top5。wrapper

    • Java進程在監控圖表中的資料點非常密集,且連續,表示該進程已持續進入CPU消耗Top5。

為什麼進程監控指標資料從特定時間點開始有資料,而非歷史全量?

進程監控資料依賴於手動添加的進程監控項,CloudMonitor Agent 僅從您添加監控項的時刻起採集對應進程的指標資料。若未提前添加監控項,則無法擷取歷史資料,也無法觸發歷史時段的警示。

添加進程監控

您可以通過監控主機的進程數,採集關鍵進程的數量,及時擷取關鍵進程的存活狀態。

假設您的主機運行了如下進程:

  • /usr/bin/java -Xmx2300m -Xms2300m org.apache.catalina.startup.Bootstrap

  • /usr/bin/ruby

  • nginx -c /etc/nginx/nginx.conf

您添加了6個進程關鍵字,採集結果如下:

進程關鍵字

採集進程數

結果

ruby

1

命中進程名稱。

nginx

1

命中進程名稱與參數。

/usr/bin

2

命中路徑(2個進程包含該路徑)。

apache.catalina

1

命中部分參數。

nginx.conf

1

命中部分參數。

-c

1

命中部分參數。

說明

進程名匹配嚴格區分大小寫,配置的進程關鍵字(processName)必須與作業系統中實際啟動並執行進程名完全一致(包括大小寫),否則無法匹配進程,導致採集失敗或警示不觸發。

  1. 登入CloudMonitor控制台

  2. 在左側導覽列,選擇雲資源監控 > 主機監控

  3. 主機監控列表中,單擊目標主機的執行個體名稱連結,或單擊目標主機對應操作列的監控圖表選擇頁簽進程監控

  4. 在進程監控頁面下方,單擊進程數監控摺疊面板,再單擊右上方的添加進程監控

  5. 添加進程監控面板,先輸入進程名稱,再單擊增加,然後單擊右上方的image表徵圖。

    說明

    添加進程監控後,請您稍等幾分鐘,才能看到進程數的監控資料。

為進程設定警示規則

您添加進程後,可以為該進程設定警示規則。當進程數發生變化時,您可以收到警示通知。

  1. 登入CloudMonitor控制台

  2. 在左側導覽列,選擇雲資源監控 > 主機監控

  3. 主機監控頁面,單擊目標主機的執行個體名稱連結,或單擊目標主機對應操作列的監控圖表選擇頁簽進程監控

  4. 先單擊進程數監控摺疊面板,然後單擊右上方的image表徵圖。在 進程數監控 地區,單擊進程數圖表右上方的警示表徵圖,開啟警示規則設定面板。

  5. 設定規則描述面板,先設定規則名稱,再設定進程監控指標進程 / 當前進程數的閾值和警示層級,然後單擊確定

  6. 建立警示規則面板,先設定警示規則的相關參數,再單擊確認

    關於如何設定警示規則中的相關參數,請參見建立警示規則

  7. 查看進程警示規則。

    1. 在左側導覽列,選擇警示服務 - 警示規則

    2. 警示規則頁面,您可以查看警示規則進程維度警示規則。

說明

關於進程總數警示閾值的設定,建議參考以下原則:

  • 系統進程總數受 Linux 核心參數 /proc/sys/kernel/pid_max 限制,建議將閾值設定為 pid_max 的 70%~80%,以預留緩衝空間,避免誤判或漏報。

  • 可通過命令 cat /proc/sys/kernel/pid_max 查看當前系統上限。

  • 也可基於業務穩週期性實際進程數(通過CloudMonitor歷史資料或執行 ps -eLf | wc -l 命令擷取),在此基礎上增加 20%~30% 作為閾值,避免直接設定為接近 pid_max 的值。

刪除進程監控

說明

通過應用分組菜單的組進程監控添加的進程,只能在組進程監控中刪除。

  1. 登入CloudMonitor控制台

  2. 在左側導覽列,選擇雲資源監控 > 主機監控

  3. 主機監控頁面,單擊目標主機的執行個體名稱連結,或單擊目標主機對應操作列的監控圖表選擇頁簽進程監控

  4. 先單擊進程數監控摺疊面板,然後單擊右上方的添加進程監控

  5. 添加進程監控面板,單擊目標進程對應操作列的刪除

  6. 刪除確認對話方塊,單擊確定

  7. 單擊右上方的關閉表徵圖。

常見問題

CloudMonitor是否支援查看單個進程(如 Nginx、Java)的網路頻寬/流量佔用?

CloudMonitor當前不支援查看單個進程的出網頻寬或指定時間段(每天/每小時)的下行流量統計。如需以進程視角監控網卡流量,建議在 ECS 執行個體內部使用 nethogs 等第三方工具實現。

如何監控 Java 線程數?

CloudMonitor進程監控僅支援監控進程數量(可通過添加關鍵字 java 實現),不支援直接監控 Java 線程數。如需監控線程數,建議使用 ARMS 應用監控。