Perfは、Linuxベースのオペレーティングシステム向けのシンプルで強力なパフォーマンス監視ツールです。これは、ハードウェアイベントとソフトウェアイベントの両方をトレースまたはカウントするために使用されます。多数のサブコマンドを提供し、システム全体の統計的プロファイリングが可能です。パフォーマンス関連の問題を特定して解決するのに役立ちます。
このチュートリアルでは、Ubuntu20.04にPerfパフォーマンス監視ツールをインストールして使用する方法を示します。
- Ubuntu20.04サーバーを実行しているサーバー。
- ルートパスワードはサーバーで構成されています。
デフォルトでは、PerfパッケージはUbuntu20.04のデフォルトリポジトリでは利用できません。次のコマンドでインストールできます:
apt-get install linux-tools-$(uname -r) linux-tools-generic -y
インストールが完了したら、次のコマンドを使用して、インストールされているバージョンのPerfを確認できます。
perf -v
次の出力が得られるはずです:
perf version 5.4.30
次のコマンドを使用して、Perfコマンドで使用可能なすべてのオプションを印刷できます。
perf --help
次の画面が表示されます。
Perfとサブコマンドを使用して、そこからLinuxパフォーマンス統計を収集できます。
Linuxでソフトウェアの事前定義されたイベントのリストを表示するには、次のコマンドを実行します。
perf list sw
次の画面が表示されます。
次のコマンドを使用して、すべてのstraceイベントを出力できます。
perf list stat
次の画面が表示されます。
ls -ld / etcコマンドのパフォーマンス統計を取得するには、次のコマンドを実行します。
perf stat ls -ld /etc/
次の出力が表示されます。
drwxr-xr-x 83 root root 4096 Dec 9 08:56 /etc/ Performance counter stats for 'ls -ld /etc/': 3.18 msec task-clock # 0.809 CPUs utilized 0 context-switches # 0.000 K/sec 0 cpu-migrations # 0.000 K/sec 115 page-faults # 0.036 M/seccycles instructions branches branch-misses 0.003933936 seconds time elapsed 0.000000000 seconds user 0.004122000 seconds sys
「free-m」コマンドを実行したときにシステムで何が起こるかを知りたい場合は、次のコマンドを使用してください。
perf stat free -m
次の画面が表示されます:
Perfでtopサブコマンドを使用して、パフォーマンスカウンタープロファイルをリアルタイムで表示できます。
たとえば、-aオプションを指定してperf topコマンドを使用すると、既知のすべてのイベントタイプが表示されます。
perf top -a
次の画面が表示されます。
CPUクロック関連のイベントを表示するには、以下に示すように-eオプションを使用します。
perf top -e cpu-clock
次の画面が表示されます。
perf-recordは、現在の作業ディレクトリ内のperf.dataにプロファイルを記録するために使用されるコマンドラインツールです。
たとえば、df -hコマンドを実行し、次のコマンドを使用してそのプロファイルをperf.dataに記録します。
perf record df -h
次の画面が表示されます。
perf reportコマンドは、perfレコードによって生成されたファイルを分析し、フラットまたはグラフプロファイルを生成するために使用されます。
perf report
次の画面が表示されます。
perf branchコマンドを使用して、システムでいくつかのベンチマークを実行できます。たとえば、すべてのメモリ速度テストを確認する場合は、次のコマンドを使用します。
perf bench mem all
次の画面が表示されます。
このガイドでは、Ubuntu20.04にPerfパフォーマンス監視ツールをインストールして使用する方法を学びました。これで、このツールを調べて、さまざまなコマンドオプションを試すことができます。