Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
1
Help us understand the problem. What are the problem?

OKI「AE2100」上での各種リソースの確認方法

要約

この記事では、OKI AI エッジコンピューター「AE2100」向けのリソース確認方法を紹介します。

はじめに

AE2100では様々なAIを用いたアプリケーションを動作させることが可能です。
AIを用いたアプリケーションを動作させるには、各種リソースをうまく活用する必要があります。
各種リソースを確認するのに、一般的なコマンド使用した方法とAE2100独自の方法があります。
そこで、この記事ではAE2100上での各種リソースの確認方法をご紹介します。

対象とするリソースは以下になります。

  • CPU
    • CPU使用率
    • CPU温度
    • CPU周波数
  • GPU
    • GPU使用率
    • GPU周波数
  • VPU(MyriadX)
    • VPU使用率
  • メモリ
    • メモリ使用率
  • ディスク
    • ディスク容量
    • ディスクI/O

また、CPU使用率等の一部リソースは自動的に過去の使用状況を記録しているものもあります。
最後に記録されている過去のリソース使用状況の確認方法についても説明します。

CPU

CPU使用率

top

root@ae2100:~# top
top - 07:43:00 up 10 min,  1 user,  load average: 7.11, 6.50, 3.58
Tasks: 173 total,   1 running, 120 sleeping,   0 stopped,   0 zombie
%Cpu(s): 53.6 us, 13.5 sy,  0.0 ni,  8.9 id, 23.3 wa,  0.0 hi,  0.7 si,  0.0 st
KiB Mem :  3619136 total,   927208 free,  1720272 used,   971656 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  1726080 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
10626 root      20   0 2814488 1.229g  93796 S 294.1 35.6   0:55.02 benchmark_app
  269 root      20   0 2497996 133092   4544 S  17.6  3.7   1:55.36 4.3BOOT

topコマンドではシステム全体だけでなく個々のプロセスのCPU使用率やメモリの使用量についても表示します。
ここではCPUに関する内容について説明します。メモリに関する内容はこちらを参照してください。

topコマンドの表示は自動更新されて、リアルタイムな状況を確認することができます。
表示間隔はデフォルトで3秒になっています。

CPU使用率に関する情報を得るために注目すべき箇所のみ抽出して説明します。

システム全体のCPU使用率に関する情報は%Cpu(s)の行に表示されています。

%Cpu(s): 53.6 us, 13.5 sy,  0.0 ni,  8.9 id, 23.3 wa,  0.0 hi,  0.7 si,  0.0 st

各項目の説明については以下の通りです。

項目 説明
us ユーザプロセス(OS上で動作するプロセス)のCPU使用時間の割合
sy システムプロセス(OSを実現するために動作するプロセス)のCPU使用時間の割合
ni nice値(プロセス実行の優先度)が変更されたユーザプロセスのCPU使用時間の割合
id idle状態(待ち状態)のCPU使用時間の割合
wa ディスクのI/O終了待ちをしているプロセスのCPU使用時間の割合
hi ハードウェアの割り込み要求のCPU使用時間の割合
si ソフトウェアの割り込み要求のCPU使用時間の割合
st ハイパーバイザ(仮想マシンを実行しているソフトウェア)のCPU使用時間の割合

個々のプロセスの情報に関しては、CPU使用率が高いものが上から表示されるようになっています。

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
10626 root      20   0 2814488 1.229g  93796 S 294.1 35.6   0:55.02 benchmark_app
  269 root      20   0 2497996 133092   4544 S  17.6  3.7   1:55.36 4.3BOOT

個々のプロセスのCPU使用率は%CPU列に表示されています。

上記の例のbenchmark_appプロセスであればCPU使用率は294.1%になります。
システム全体のCPU使用率はCPU全体を100%としたときの表記でしたが、
プロセスごとのCPU使用率はコア数×100%として表記します。
AE2100は全部で4コアなので400%を最大とした表記になります。

topコマンドの詳細はman topを参照してください。

CPU周波数

CPU温度

/var/log/ae2100/ae2100_rsc.log

root@ae2100:~# cat /var/log/ae2100/ae2100_rsc.log
DATE,CPU0_FREQ,CPU1_FREQ,CPU2_FREQ,CPU3_FREQ,GPU_FREQ,CPU_TEMP,CPU0_TEMP,CPU1_TEMP,CPU2_TEMP,CPU3_TEMP,SOC_TEMP,GPU_FREQ_ACT
20200702073302,1593646,1593664,1593642,1593644,100,32000,30000,32000,31000,31000,31000,200
20200702073401,1590604,1591054,1590971,1591325,650,43000,41000,42000,42000,43000,44000,650
20200702073501,1588371,1589465,1588111,1589503,650,43000,42000,42000,44000,44000,44000,650
20200702073601,1591553,1588800,1592494,1592096,650,44000,43000,43000,44000,44000,44000,650

AE2100ではCPUやGPUの周波数や温度等の統計情報を/var/log/ae2100/ae2100_rsc.logに記録しています。
統計情報は1分ごとに記録されています。

/var/log/ae2100/ディレクトリにはae2100_rsc.log-YYYYMMDDまたは
ae2100_rsc.log-YYYYMMDD.gzとして過去の記録を保存しています。
より過去の統計情報を知りたい場合は、ローテートされたファイルを参照するようにしてください。

各項目の説明については以下の通りです。

項目名 説明 単位
DATE 統計情報収集日時 YYYYMMDDHHMMSS
CPU0_FREQ CPU0の動作周波数 KHz
CPU1_FREQ CPU1の動作周波数 KHz
CPU2_FREQ CPU2の動作周波数 KHz
CPU3_FREQ CPU3の動作周波数 KHz
GPU_FREQ GPUの動作周波数 MHz
CPU_TEMP CPU全体の温度 ℃×1000
CPU0_TEMP CPU0の動作周波数 ℃×1000
CPU1_TEMP CPU1の動作周波数 ℃×1000
CPU2_TEMP CPU2の動作周波数 ℃×1000
CPU3_TEMP CPU3の動作周波数 ℃×1000
SOC_TEMP SoCの温度 ℃×1000
GPU_FREQ_ACT GPUのアクト動作周波数 MHz

※ CPUXはCPUのコア0~3のことを指しています。

CPUのクロックが期待通り出ているか、負荷が一部のコアに偏っていないかなどを見ることで、
アプリケーションが正しく動作しているかの確認に使用できます。

GPU

GPU使用率

intel_gpu_top

root@ae2100:~# intel_gpu_top
                   render busy: 97%: ???????????????????? render space: 160/16384
                          task  percent busy
                            CS:  99%: ???????????????????? vert fetch: 0 (0/sec)
                           GAM:  95%: ??????????????????? prim fetch: 0 (0/sec)
                           TSG:  86%: ?????????????????? VS invocations: 0 (0/sec)
                           VFE:  71%: ??????????????? GS invocations: 0 (0/sec)
                          GAFS:   4%: ? GS prims: 0 (0/sec)
                           TDG:   1%: ? CL invocations: 0 (0/sec)
                          GAFM:   0%: CL prims: 0 (0/sec)
                           SVG:   0%: PS invocations: 0 (0/sec)
                           SOL:   0%: PS depth pass: 0 (0/sec)
                            RS:   0%:
                            SF:   0%:
                            VS:   0%:
                            CL:   0%:
                            VF:   0%:

intel_gpu_topコマンドでは今現在のGPUの使用率をリアルタイムに表示します。
表示は1秒ごとに更新されてrender busyの行にGPUの使用率を表示しています。
また、実行するコマンドをintel_gpu_top -o <出力先ファイルパス>とすることで、
GPU使用率ファイル出力することが可能です。

# time  render% ops     bitstr% ops     bitstr% ops     blitte% ops     vert f  prim f  VS inv  GS inv  GS pri  CL inv  CL pri  PS inv  PS dep
1.00    100     167     -1      -1      -1      -1      -1      -1      0       0       0       0       0       0       0       0       0
2.00    100     164     -1      -1      -1      -1      -1      -1      0       0       0       0       0       0       0       0       0
3.00    100     166     -1      -1      -1      -1      -1      -1      0       0       0       0       0       0       0       0       0
4.00     99     159     -1      -1      -1      -1      -1      -1      0       0       0       0       0       0       0       0       0
5.00    100     161     -1      -1      -1      -1      -1      -1      0       0       0       0       0       0       0       0       0

ファイル出力した場合も1秒おきに記録されていて、GPU使用率はrender%列に記載されています。
注意点として、時刻情報timeが記録開始からの経過時間(秒)になっているので、
GPU使用率の推移を見たい場合は、記録開始時刻を別途記録しておく必要があります。

GPU周波数

/var/log/ae2100/ae2100_rsc.log

CPUの周波数及び温度で説明した/var/log/ae2100/ae2100_rsc.logにGPUの周波数についても記録されています。
詳細は こちら を参照してください。

VPU

VPU(MyriadX)使用率

jounalctl(/var/log/syslog)

HDDLDaemonのコンフィグを変更することでVPU関連の統計情報が定期的にsyslogに出力されるようになります。
ただし、膨大な量の統計情報がsyslogへ出力されることになるため、一時的な使用を推奨します。
統計情報を確認する場合はjounalctlコマンドを使用するか、/var/log/syslogを直接参照してください。

HDDLDaemonのコンフィグは/usr/local/hddl/config/hddl_service.configに配置されています。
ファイル形式はjsonになっています。

以下の項目を変更後の設定値へ変更することで、統計情報をsyslogへ出力するようになります。

項目 変更前
(デフォルト)
変更後 説明
debug_settings.debug_process.info_printer off on 統計情報の出力有無の設定
debug_settings.info_printer.device_snapshot_mode none full device snapshotの表示モードの切替設定
debug_settings.info_printer.client_snapshot_mode none base client snapshotの表示モードの切替設定
debug_settings.info_printer.graph_snapshot_mode none base graph snapshotの表示モードの切替設定

※ 上記はOpenVINOバージョン2020.3での情報になります。

各snapshotの表示モードを変更後は設定の反映が必要になります。
設定の反映にはsystemctl restart hddldaemon.serviceコマンドを使用してください。

以下はそれぞれ有効にした場合の統計情報の出力例になります。

device snapshot

Jul 15 15:56:06 ae2100 hddldaemon[7738]: [15:56:06.4217][7880]I[DeviceManager.cpp:916] DeviceSnapshot(subclass=0):
Jul 15 15:56:06 ae2100 hddldaemon[7738]: | deviceId    | 1(0x1)            | 0(00)             |
Jul 15 15:56:06 ae2100 hddldaemon[7738]: | device      | 4.3               | 4.1               |
Jul 15 15:56:06 ae2100 hddldaemon[7738]: | util%       | 100.00 %          | 100.00 %          |
Jul 15 15:56:06 ae2100 hddldaemon[7738]: | thermal     | 62.10(0)          | 62.10(0)          |
Jul 15 15:56:06 ae2100 hddldaemon[7738]: | scheduler   | squeeze           | squeeze           |
Jul 15 15:56:06 ae2100 hddldaemon[7738]: | comment     |                   |                   |
Jul 15 15:56:06 ae2100 hddldaemon[7738]: | resetTimes  | 0                 | 1                 |
Jul 15 15:56:06 ae2100 hddldaemon[7738]: | cacheNum    | 1                 | 1                 |
Jul 15 15:56:06 ae2100 hddldaemon[7738]: | cacheGraph0 | AlexNet           | AlexNet           |
Jul 15 15:56:06 ae2100 hddldaemon[7738]: | cacheGraph1 |                   |                   |
Jul 15 15:56:11 ae2100 hddldaemon[7738]: | cacheGraph2 |                   |                   |
Jul 15 15:56:11 ae2100 hddldaemon[7738]: | cacheGraph3 |                   |                   |
Jul 15 15:56:11 ae2100 hddldaemon[7738]: +-------------+-------------------+-------------------+
Jul 15 15:56:11 ae2100 hddldaemon[7738]: | status      | RUNNING           | RUNNING           |
Jul 15 15:56:11 ae2100 hddldaemon[7738]: | fps         | 60.85             | 60.79             |
Jul 15 15:56:11 ae2100 hddldaemon[7738]: | curGraph    | AlexNet           | AlexNet           |
Jul 15 15:56:11 ae2100 hddldaemon[7738]: | rPriority   | 0                 | 0                 |
Jul 15 15:56:11 ae2100 hddldaemon[7738]: | loadTime    | 20210715 15:55:37 | 20210715 15:55:37 |
Jul 15 15:56:11 ae2100 hddldaemon[7738]: | runTime     | 00:00:29          | 00:00:29          |
Jul 15 15:56:11 ae2100 hddldaemon[7738]: | inference   | 650               | 651               |
Jul 15 15:56:11 ae2100 hddldaemon[7738]: | prevGraph   |                   |                   |
Jul 15 15:56:11 ae2100 hddldaemon[7738]: | loadTime    |                   |                   |
Jul 15 15:56:11 ae2100 hddldaemon[7738]: | unloadTime  |                   |                   |
Jul 15 15:56:11 ae2100 hddldaemon[7738]: | runTime     |                   |                   |
Jul 15 15:56:11 ae2100 hddldaemon[7738]: | inference   |                   |                   |
Jul 15 15:56:11 ae2100 hddldaemon[7738]: +-------------+-------------------+-------------------+

client snapshot

Jul 15 15:56:06 ae2100 hddldaemon[7738]: [15:56:01.4211][7880]I[ClientManager.cpp:417] ClientSnapshot(RegularPrint):
Jul 15 15:56:06 ae2100 hddldaemon[7738]: | clientId     | 7                 |
Jul 15 15:56:06 ae2100 hddldaemon[7738]: | clientName   | HDDLPlugin        |
Jul 15 15:56:06 ae2100 hddldaemon[7738]: | clientFps    | 121.51            |
Jul 15 15:56:06 ae2100 hddldaemon[7738]: | inferTimes   | 0                 |
Jul 15 15:56:06 ae2100 hddldaemon[7738]: | waitNum      | 0                 |
Jul 15 15:56:06 ae2100 hddldaemon[7738]: +--------------+-------------------+

graph snapshot

Jul 15 15:55:25 ae2100 hddldaemon[7738]: [15:55:20.0743][7880]I[GraphManager.cpp:828] GraphSnapshot(RegularPrint):
Jul 15 15:55:25 ae2100 hddldaemon[7738]: | graphId      | 6                 |
Jul 15 15:55:25 ae2100 hddldaemon[7738]: | graphName    | AlexNet           |
Jul 15 15:55:25 ae2100 hddldaemon[7738]: | fpsIn        | 121.79            |
Jul 15 15:55:25 ae2100 hddldaemon[7738]: | fpsOut       | 121.79            |
Jul 15 15:55:25 ae2100 hddldaemon[7738]: | inferTimes   | 1300              |
Jul 15 15:55:25 ae2100 hddldaemon[7738]: | waitTaskNum  | 0                 |
Jul 15 15:55:25 ae2100 hddldaemon[7738]: | isPending    | False             |
Jul 15 15:55:25 ae2100 hddldaemon[7738]: | pendingTime  | 00:00:00          |
Jul 15 15:55:25 ae2100 hddldaemon[7738]: | outCycleNum  | 0                 |
Jul 15 15:55:25 ae2100 hddldaemon[7738]: | avgInferTime | 32.81             |
Jul 15 15:55:25 ae2100 hddldaemon[7738]: | devReqNum    | 2.00              |
Jul 15 15:55:25 ae2100 hddldaemon[7738]: | deviceNum    | 2 / 2             |
Jul 15 15:55:25 ae2100 hddldaemon[7738]: | graphTag     |                   |
Jul 15 15:55:25 ae2100 hddldaemon[7738]: | streamId     |                   |
Jul 15 15:55:25 ae2100 hddldaemon[7738]: +--------------+-------------------+

HDDLDaemonのコンフィグについては2019年9月の古い情報ですが、ドキュメントも存在します。
古い情報なので参考程度になりますが、こちらも参照してください。
https://docs.openvinotoolkit.org/downloads/595850_Intel_Vision_Accelerator_Design_with_Intel_Movidius%E2%84%A2_VPUs-HAL%20Configuration%20Guide_rev1.3.pdf

メモリ

メモリ使用率

top

root@ae2100:~# top
top - 07:43:00 up 10 min,  1 user,  load average: 7.11, 6.50, 3.58
Tasks: 173 total,   1 running, 120 sleeping,   0 stopped,   0 zombie
%Cpu(s): 53.6 us, 13.5 sy,  0.0 ni,  8.9 id, 23.3 wa,  0.0 hi,  0.7 si,  0.0 st
KiB Mem :  3619136 total,   927208 free,  1720272 used,   971656 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  1726080 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
10626 root      20   0 2814488 1.229g  93796 S 294.1 35.6   0:55.02 benchmark_app
  269 root      20   0 2497996 133092   4544 S  17.6  3.7   1:55.36 4.3BOOT

CPU使用率の確認に使用したtopコマンドでもメモリに関する情報を確認可能です。
システム全体のメモリ使用量に関する情報についてはKiB MemKiB Swapの行に表示されています。

KiB Mem :  3619136 total,   927208 free,  1720272 used,   971656 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  1726080 avail Mem

KiB Mem行は物理メモリに関する表示です。

各項目の説明については以下の通りです。全て単位はKiBになります。

項目 説明
total システムに搭載されたメモリの総量
free 空きメモリ量
used OSや各種プロセスに割り当てているメモリ量
buff/cache バッファやキャッシュへ割り当てているメモリ量

KiB Swap行はavail Memを除いてスワップに関する表示です。
各項目の説明については以下の通りです。こちらも全て単位はKiBになります。

項目 説明
total システムで使用できるスワップの総量
free 空きスワップ量
used OSや各種プロセスに割り当てているスワップ量
avail Mem すぐに割り当て可能なメモリ量

AE2100ではスワップが無効になっているのでtotalfreeusedは全て0になります。
KiB Swap行の最後のavail Memのみ物理メモリについて表示しています。
avail Memは物理メモリのfree全てとbuff/cacheのうち開放可能なメモリ量を足した値になっています。
そのため、実質的な空きメモリ量を確認したいときはavail Memを見る必要があります。

個々のプロセスについてもメモリに関する情報が表示されています。

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
10626 root      20   0 2814488 1.229g  93796 S 294.1 35.6   0:55.02 benchmark_app
  269 root      20   0 2497996 133092   4544 S  17.6  3.7   1:55.36 4.3BOOT

メモリに関する各項目の説明については以下の通りです。

項目 説明 単位
VIRT 割当て済みの仮想メモリ量 KiB
RES 物理メモリのうち実際に使用されているメモリ量 KiB ※数値の後にgが付いている場合はGiB
SHR RESのうち共有メモリとして使用されているメモリ量 KiB
%MEM 物理メモリ総量に対する使用中のメモリ量(=RES)の割合 %

ディスク

ディスク容量

df

root@ae2100:~# df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/root       27510816 9818348  16271924  38% /
devtmpfs         1807352       4   1807348   1% /dev
tmpfs            1809568       0   1809568   0% /dev/shm
tmpfs            1809568    1084   1808484   1% /run
tmpfs            1809568       0   1809568   0% /sys/fs/cgroup
tmpfs            1809568    3412   1806156   1% /tmp
/dev/mmcblk1p1   1004608  534648    469960  54% /boot
tmpfs             361912       0    361912   0% /run/user/0
tmpfs             361912       0    361912   0% /run/user/15581

dfコマンドはディスク関連の情報をファイルシステムごとに表示します。

各項目の説明については以下の通りです。

項目 説明
Filesystem 対象ファイルシステム(ディスク)名
1K-blocks ディスク総容量
Used 使用中ディスク容量
Available 空きディスク容量
Use% ディスク総容量に対する使用中ディスク容量の割合
Mounted on ファイルシステムのマウント先ディレクトリ

オプション無しでdfコマンドを実行した場合、1K-blocks、Used、Availableの単位はKBになります。
-mオプションを指定すると単位をMBとして表示することが可能です。
また、-hオプションを指定すると読みやすくなるよう自動で単位を選択して表示します。

dfコマンドは-iオプションを付与することでiノードに関する情報を取得することもできます。

root@ae2100:~# df -i
Filesystem      Inodes  IUsed   IFree IUse% Mounted on
/dev/root      1757840 256133 1501707   15% /
devtmpfs        451837    523  451314    1% /dev
tmpfs           452390      1  452389    1% /dev/shm
tmpfs           452390    777  451613    1% /run
tmpfs           452390     18  452372    1% /sys/fs/cgroup
tmpfs           452390     32  452358    1% /tmp
/dev/mmcblk1p1       0      0       0     - /boot
tmpfs           452390      4  452386    1% /run/user/0

各項目の説明については以下の通りです。

項目 説明
Filesystem 対象ファイルシステム(ディスク)名
Inodes iノード総数
IUsed 使用中iノード数
IFree 空きiノード数
IUse% ディスク総容量に対する使用中ディスク容量の割合
Mounted on ファイルシステムのマウント先ディレクトリ

空き容量はあるにもかかわらずファイルが作成できないというような場合に、
対象のファイルシステムの空きiノード数が枯渇しているというケースも考えられます。

ディスクI/O

iostat

root@ae2100:~# iostat -d 3 2
Linux 4.14.67-intel-pk-standard (ae2100)        07/16/21        _x86_64_        (4 CPU)

Device             tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
mmcblk1           3.67        18.50        46.54    4917752   12371401
mmcblk1rpmb       0.00         0.00         0.00         68          0
mmcblk1boot1      0.00         0.00         0.00        288          0
mmcblk1boot0      0.00         0.00         0.00        276          0

Device             tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
mmcblk1           0.33         0.00        12.00          0         36
mmcblk1rpmb       0.00         0.00         0.00          0          0
mmcblk1boot1      0.00         0.00         0.00          0          0
mmcblk1boot0      0.00         0.00         0.00          0          0

iostatコマンドではI/Oデバイスの使用状況について表示します。
上記の例では-d 3 2オプションを付与しています。
-dはCPU使用率の表示をしないオプションで、デフォルトではCPU使用率についても表示します。
3 2はそれぞれ使用状況の取得間隔秒数と回数を指定しており、ここでは3秒間隔で2回表示するということになります。
取得間隔秒数のみ指定することも可能で、その場合はCtrl+C等で停止するまで表示され続けます。
取得間隔秒数と回数を指定しない場合は一度のみ出力して終了します。

各項目の説明については以下の通りです。

項目 説明 単位
Device I/Oデバイス名 -
tps 1秒当たりのI/Oリクエスト数
kB_read/s 1秒当たりの読み出したデータ量 KB
kB_wrtn/s 1秒当たりの書き込んだデータ量 KB
kB_read 読み出したデータ総量 KB
kB_wrtn 書き込んだデータ総量 KB

初回の表示は各項目でシステムが起動してからの平均値を表示します。
2回目以降は前回の表示からの差分を表示します。上記の例であれば3秒間での変化について表示します。
そのため、取得間隔と回数を指定しない場合はシステムが起動してからの平均値のみ表示されることになります。
リアルタイムなI/Oデバイスの使用状況を取得したい場合は、取得間隔や回数の指定が必要となります。

AE2100ではSDカード等を使用していなければ本体eMMCのデバイスについてのみ表示されます。
そのため、eMMCへのI/Oを確認したい場合はmmcblk1の行を参照します。

詳細はman iostatを参照してください。

過去のリソース使用状況

sar

一部リソースに関しては自動的に過去の使用状況を記録しています。
過去の使用状況を確認するにはsarコマンドを使用します。

ここでは以下のリソースについて説明します。

  • CPU使用率
  • メモリ使用率

CPU使用率

root@ae2100:~# sar
Linux 4.14.67-intel-pk-standard (ae2100)        07/02/20        _x86_64_        (4 CPU)

07:33:02        CPU     %user     %nice   %system   %iowait   %steal      %idle
07:34:01        all     58.26      0.00     14.89     18.96     0.00       7.90
07:35:01        all     62.03      0.00     13.31     18.89     0.00       5.77
07:36:01        all     57.07      0.00     15.89     20.62     0.00       6.42
07:37:01        all     53.95      0.00     15.55     22.67     0.00       7.84

sarコマンドを使用すると過去のCPUの使用状況を確認することができます。
使用状況の情報は1分ごとに記録されていて、コマンド実行した当日の00:00からの情報を表示します。

sarコマンドの情報源になる記録は/var/log/saディレクトリにsaXXやsarXXの名前で保存されています。
XXには日付の数字が入ります。(1日ならばsa01となります。)
当日以前の記録を参照したい場合はsar -f /var/log/sa/saXXと参照するファイル名を指定して実行してください。

各項目の説明については以下の通りです。

項目 説明
%usr ユーザプロセスのCPU使用時間の割合
%nice nice値が変更されたユーザプロセスのCPU使用時間の割合
%system システムプロセスのCPU使用時間の割合
%iowait ディスクのI/O終了待ちをしているプロセスのCPU使用時間の割合
%steal ハイパーバイザのCPU使用時間の割合
%idle idle状態のCPU使用時間の割合

メモリ使用率

root@ae2100:~# sar -r
Linux 4.14.67-intel-pk-standard (ae2100)        07/15/21        _x86_64_        (4 CPU)

00:00:01    kbmemfree   kbavail kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact   kbdirty
00:01:01      2871028   3318432    748108     20.67     68556    399684   2383388     65.86    361424    265140       140
00:02:01      2870976   3318400    748160     20.67     68568    399668   2387048     65.96    361920    265148         0
00:03:01      2871592   3319044    747544     20.66     68584    399716   2387092     65.96    361460    265156       124
00:04:01      2870468   3317968    748668     20.69     68596    399756   2386148     65.93    362152    265156       248

sarコマンドに-rオプションを付与することでメモリに関する使用状況を出力します。

CPUと同様で使用状況の情報は1分ごとに記録されており、当日の00:00からの情報を表示します。
当日以前の記録を参照する方法もCPU使用率と同様で、ファイル名を指定して実行します。

各項目の説明については以下の通りです。

項目 説明 単位
kbmemfree 空きメモリ量 KB
kbavail スワップ無しで割り当て可能なメモリ量(実質的な空きメモリ量) KB
kbmemused カーネル以外で使用中のメモリ量 KB
%memused 総メモリ量に対してkbmemusedが占めるメモリの割合 %
kbbuffers カーネルがバッファとして使用しているメモリ量 KB
kbcached カーネルがキャッシュとして使用しているメモリ量 KB
kbcommit システム動作に必要な事前に確保されているメモリ量 KB
%commit 総メモリ量に対してkbcommitが占めるメモリの割合 %
kbactive 直近で使用されており、必要が無ければ解放されないメモリ量 KB
kbinact 直近で使用されておらず、必要に応じて開放可能なメモリ量 KB
kbdirty ディスクへの書き戻しを待っているメモリ量 KB

詳細はman sarを参照してください。

まとめ

今回はAE2100で使用できる各種リソースの確認方法について説明しました。
一部はAE2100でのみ使用できる方法ですが、多くはLinuxのコマンドをベースとした確認方法となっています。
AE2100以外のシステムでリソースを確認したい場合にも参考にしていただければと思います。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
1
Help us understand the problem. What are the problem?