如何使用 atop 工具取得 EC2 Linux 執行個體上處理程序的歷史使用率統計資料?

3 分的閱讀內容
0

我想監控我的 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體上的歷史資源使用情況。如何使用 atop 工具來做到這一點?

簡短描述

atop 工具是一款效能監控工具,可記錄歷史資源使用情況,以供日後分析。此工具也可以執行即時報告。您可以擷取每個處理程序和執行緒的 CPU 使用率、記憶體耗用量和磁碟輸入/輸出的使用情況。atop 工具在其記錄統計資料時作為後台服務保持作用中狀態,以支援長期伺服器分析。依預設,統計資料會存放 28 天。

**注意:**Atop 僅於安裝後才會開始記錄資料。有關程序的歷史性效能資料無法在 atop 的安裝日期之前進行擷取。

解決方式

安裝 atop

如需安裝指示,請參閱如何為執行 Amazon Linux、RHEL、CentOS 或 Ubuntu 的 EC2 執行個體設定 ATOP 和 SAR 監控工具?

閱讀 atop 報告日誌以進行歷史審查和分析

atop 工具會在 /var/log/atop 中建立日誌檔案。這些檔案會以下列格式命名:atop_ccyymmdd。舉例來說,atop_20210902 是 2021 年 9 月 2 日的記錄。

如要存取日誌檔案,請執行命令 atop -r atoplogfilepath。以 atop 日誌檔案的完整路徑取代 atoplogfilepath。命令和日誌檔案會如下列範例中所示:

atop -r /var/log/atop/atop_20210902 

ATOP - ip-172-20-139-91                2021/09/02  17:03:44                ----------------                 3h33m7s elapsed
PRC |  sys    6.51s  |  user   7.85s  |  #proc    103  |  #tslpi    81 |  #tslpu     0  |  #zombie    0  |  #exit      0  |
CPU |  sys     0%  |  user      3%  |  irq       0%  |  idle    197% |  wait      0%  |  ipc notavail  |  curscal   ?%  |
cpu |  sys     0%  |  user      1%  |  irq       0%  |  idle     98% |  cpu000 w  0%  |  ipc notavail  |  curscal   ?%  |
cpu |  sys     0%  |  user      1%  |  irq       0%  |  idle     98% |  cpu001 w  0%  |  ipc notavail  |  curscal   ?%  |

在上述輸出範例中,第一個記錄的快照的擷取時間為 2021/09/02 17:03:44。如要向前移至下一個快照,可按下鍵盤上的 t 鍵 (小寫)。如要向後移至上一個快照,可按下 T 鍵 (大寫)。

如要分析特定時段,可按 b 鍵,然後輸入日期和時間。atop 工具會略過 Enter new time (輸入新時間) 變數中指定的時間:

NET |  lo      ----  |  pcki       2  |  pcko       2  |  sp    0 Mbps |  si    0 Kbps  |  so    0 Kbps  |  erro       0  |
Enter new time (format [YYYYMMDD]hhmm):
  PID              TID              RDDSK              WRDSK             WCANCL              DSK             CMD        1/4

快速鍵

您可以按快速鍵檢視不同的統計數字。以下是快速鍵範例:

快速鍵描述
g一般資訊 (預設)。
m記憶體詳細資訊。
d磁碟詳細資訊。
n網路詳細資訊。只有在安裝 netatop 核心模組後,才能使用此鍵。
c每個處理程序的完整命令列

您可以使用下列快速鍵來對處理程序清單進行排序:

快速鍵排序方式
CCPU 活動。
M記憶體耗用量。
D磁碟活動。
N網路活動。只有在安裝 netatop 核心後,才能使用此鍵。
A最活躍的系統資源 (自動模式)。

h 鍵可檢視說明文件。

atopsar 命令

atopsar 命令是個類似於傳統 UNIX sar 命令的功能。您可使用 atopsar 命令產生各種系統活動報告。

atopsar 命令會使用顏色編碼和 (依要求) 標記來提顯資源的使用率。使用率極高用紅色標示,使用率非常高用青色標示。

如下列範例中所示使用標記 -c 時,會產生有關系統目前 CPU 使用率的報告。下列範例會間隔一秒顯示兩個結果。

$ atopsar -c 1 2

ip-172-20-139-91  4.14.238-182.422.amzn2.x86_64  #1 SMP Tue Jul 20 20:35:54 UTC 2021  x86_64  2021/09/02

-------------------------- analysis date: 2021/09/02 --------------------------

18:50:16  cpu  %usr %nice %sys %irq %softirq  %steal %guest  %wait %idle  _cpu_
18:50:17  all     0     0    0    0        0       0      0      0   200
            0     0     0    0    0        0       0      0      0   100
            1     0     0    0    0        0       0      0      0   100
18:50:18  all     0     0    0    0        0       0      0      0   200
            0     0     0    0    0        0       0      0      0   100
            1     0     0    0    0        0       0      0      0   100

atopsar 命令也可以分析歷史資料。例如,執行下列命令可產生當天 13h00 (-b) 開始、13h35 (-e) 結束的所有報告 (-A)。

atopsar -A -b 13:00 -e 13:35

您可以使用 -r 選項並指定日誌檔案名稱,以讀取前一天的檔案。


相關資訊

為什麼我的 EC2 Linux 執行個體會因為資源過度使用而變得無回應?

AWS 官方
AWS 官方已更新 1 年前