如何使用 ATOP 工具和 atopsar 工具,取得 EC2 Linux 執行個體中程序的歷史使用情況統計資料?

4 分的閱讀內容
0

我想了解如何使用 ATOP 工具,監控 Amazon EC2 Linux 執行個體中執行程序的歷史資源使用情況,例如 CPU、記憶體和磁碟 I/O。我想取得有關安裝 ATOP 和分析日誌檔的說明。

簡短說明

ATOP 工具是一種效能監控工具,可記錄歷史資源使用情況以供日後分析。此工具也可提供即時報告。您可以擷取每個程序和執行緒的 CPU 使用率、記憶體消耗量和磁碟 I/O 的使用情況。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 /var/log/atop/atop_ccyymmdd

atop_ccyymmdd 改成您要檢閱的日期。

請參閱下方的指令和日誌檔範例:

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 年 9 月 2 日 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: 每個程序的完整命令列。

若要排序程序清單,請使用下列快速鍵:

  • C: CPU 活動。
  • M: 記憶體消耗量。
  • D: 磁碟活動。
  • N: 網路活動。此鍵僅在安裝 netatop 核心時才起作用。
  • A: 最活躍的系統資源(自動模式)。

h 鍵可檢視說明文件。

建立特定時段的 ATOP 報告日誌

若要存取日誌檔並僅擷取特定時段的效能資料,請執行下列命令:

atop -r /var/log/atop/atop_ccyymmdd -b starttime -e endtime -M

atop_ccyymmdd 改成您要檢閱的日期。將 starttime 改成效能期間的開始時間,並將 endtime 改成結束時間。

例如,下列命令會傳回 2024 年 4 月 22 日 08:00 至 08:10 之間擷取的記憶體效能資料:

$ atop -r /var/log/atop/atop_20240422 -b 0800 -e 0810
            -M

範例中使用的旗標:

  • b:開始時間
  • e:結束時間
  • r:指定檔案
  • M:記憶體

使用 ATOP 命令產生系統活動報告

您可以使用 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 命令可分析指定時間範圍內的資料。例如,若要產生當天從 13:00 (-b) 開始,並於 13:35 (-e) 結束的所有報告 (-A),請執行下列命令:

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

請將 atopsar 的標誌合併為單一命令,以擷取多個輸出。下列範例命令會查詢 CPU 使用率程序 (或) 負載,以及程序和執行緒

$ atopsar -cpP

範例輸出:

ip-172-31-89-231 6.1.84-99.169.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC Mon Apr 8 19:19:48 UTC 2024 x86_64 2024/04/22

-------------------------- analysis date: 2024/04/22 --------------------------

07:59:27 cpu %usr %nice %sys %irq %softirq %steal %guest %wait %idle cpu
08:00:27 all 0 0 0 0 0 0 0 4 95
08:01:27 all 0 0 0 0 0 0 0 0 100
08:02:27 all 0 0 0 0 0 0 0 0 100
08:03:27 all 0 0 0 0 0 0 0 0 100

-------------------------- analysis date: 2024/04/22 --------------------------

07:59:27 pswch/s devintr/s clones/s loadavg1 loadavg5 loadavg15 load
08:00:27 203 70 1.07 0.13 0.29 0.14
08:01:27 53 31 0.07 0.05 0.23 0.13
08:02:27 59 31 0.87 0.02 0.19 0.12
08:03:27 68 35 0.22 0.00 0.15 0.10

-------------------------- analysis date: 2024/04/22 --------------------------

07:59:27 clones/s pexit/s curproc curzomb thrrun thrslpi thrslpu procthr
08:00:27 1.07 1.07 114 0 1 83 58
08:01:27 0.07 0.07 114 0 1 83 58
08:02:27 0.87 0.88 109 0 1 83 53
08:03:27 0.22 0.28 105 0 1 76 52

如需 ATOP 擷取和顯示之旗標及輸出值的詳細清單,請參閱 Linux 網站上的 atopsar

相關資訊

為什麼我的 EC2 Linux 執行個體由於資源過度使用而沒有回應?

DigitalOcean 網站上的 Linux 的 ATOP 命令指南

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