4 Performance Co-Pilotの使用

この章では、1つ以上のOracle Linuxインストールでシステム・パフォーマンスを分析できるように、Performance Co-Pilot (PCP)をインストールして構成する方法について説明します。

PCPについて

PCPは、パフォーマンス問題の診断に使用できるオペレーティング・システムおよびネットワークのメトリックを収集します。PCPは、メトリックおよびログのリクエストを、モニターする各Oracle Linuxシステムにインストールされている1組のコレクタ・ホスト・サービスに送信するために使用できるモニター・ホストを提供します。

PCPのインストール

  1. システムでol7_latestおよびol7_addons yumリポジトリを有効にします。

    詳細は、『Oracle Linux 7: ソフトウェアの管理』を参照してください。

  2. yumコマンドを使用して、pcp-oracle-confpcp-system-tools、およびpcp-guiパッケージをインストールします。

    sudo yum install pcp-oracle-conf pcp-system-tools pcp-gui
  3. Performance Metrics Collector Daemon (pmcd)およびPerformance Metrics Logger (pmlogger)コレクタ・ホスト・サービスを有効にして起動します。

    sudo systemctl enable --now pmcd pmlogger

PCPの停止

データ収集を一時的に停止するには、Performance Metrics Collector Daemon (pmcd)およびPerformance Metrics Logger (pmlogger)のコレクタ・ホスト・サービスを停止します:

sudo systemctl stop pmcd pmlogger

無期限のデータ収集を停止し、システムのブート時にデータ収集が自動的に再開されないようにするには、それらを完全に無効にします:

sudo systemctl disable --now pmcd pmlogger

スクリプトが無効なシステム・サービスを再起動できないようにするマスキングおよびマスキング解除サービスの詳細は、『Oracle Linux 7: コア・システム構成の管理』を参照してください。

PCPによって収集される情報の確認

pcp-oracle-confパッケージがインストールされている場合、pmloggerサービスによって収集されるメトリックは、/var/lib/pcp/config/pmlogger/config.ora構成ファイルにリストされているメトリックのみです。

PCPがpcp-oracle-confパッケージなしでインストールされている場合は、かわりに/var/lib/pcp/config/pmlogger/config.default構成ファイルを確認します。

これらのメトリックが同じ構成ファイルで収集される頻度を変更できます。たとえば、頻度を毎分1回から5秒ごとに1回に増やすには、次のように入力します。

...
# It is safe to make additions from here on ...
#

log mandatory on every 5 seconds {
  filesys.free
  filesys.used
  ...
}

pmloggerサービスが生成するすべてのアーカイブは、/var/log/pcp/pmlogger/hostnameディレクトリに格納されます。詳細は、pmlogconf(1)マニュアル・ページを参照してください。

pmloggerが特定のパフォーマンス・メトリックを収集した時点でPCP構成を確認するには、pcpコマンドを使用します。

sudo pcp -a 20220321.0.xz

PCPモニター・ホストを使用したパフォーマンス・メトリックの分析

pmloggerサービスが生成するすべてのアーカイブは、/var/log/pcp/pmlogger/hostnameディレクトリに格納されます。端末内のこのディレクトリに移動すると、いくつかのコマンドを実行して、収集されたパフォーマンス・メトリックを確認できます。

これらのコマンドとそのパラメータの詳細は、それぞれのマニュアル・ページを参照してください。

リアルタイムでのライブ・パフォーマンス・メトリックの確認

eth0ネットワーク・インタフェースからのすべての送信メトリックをリアルタイムで監視するには、pmrepコマンドを使用します。

sudo pmrep -i eth0 -v network.interface.out

2秒間隔で各パーティションのライブ・ハード・ドライブ操作を監視するには、pmvalコマンドを使用します。

sudo pmval -t 2sec -f 3 disk.partitions.write

記録されたパフォーマンス・メトリックの確認

指定した期間内の特定のパフォーマンス・メトリックのデータを確認するには、pmdumptextコマンドを使用します。たとえば、CPU負荷のリソース使用率メトリック、メモリー使用率および特定の日付の13:00から14:00までのディスク書込み操作を確認するには、次のようにします。

sudo pmdumptext -Xlimu -t 10m -S @13:00 -T @14:00 \
 'kernel.all.load[1]' 'mem.util.used' 'disk.partitions.write' -a 20220321.0.xz

pmstatを使用して、sarコマンドによって生成されたものと同様の形式でシステム・パフォーマンス・メトリックを確認することもできます。たとえば、特定の日付の09:00から10:00までの10分間隔で平均化されたパフォーマンス・メトリックを確認するには、次のようにします。

sudo pmstat -t 10m -S @09:00 -T @10:00 -a 20220321.0.xz

pmdiffコマンドを使用して、2つの期間のメトリックを比較することもできます。たとえば、ある日の02:00から03:00のメトリックを、別の日の09:00から10:00のメトリックと比較するには、次のようにします。

sudo pmdiff -S @02:00 -T @03:00 -B @09:00 -E @10:00 20220321.0.xz 20220320.0.xz

記録されたパフォーマンス・メトリックの詳細の確認

特定のメトリックに関する詳細情報を確認するには、pminfoコマンドを使用します。たとえば、空きメモリーの詳細を確認するには、次のようにします。

sudo pminfo -df mem.freemem -a 20220321.0.xz

パフォーマンス・メトリックが取得されたときのシステム・ステータスの確認

パフォーマンス・メトリックを含むアーカイブに含まれるホスト、タイムゾーンおよび期間を確認するには、pmdumplogコマンドを使用します。

sudo pmdumplog -L 20220321.0.xz

有効なすべてのパフォーマンス・メトリックのリストを確認するには、pminfoコマンドを使用します。

sudo pminfo -a 20220321.0.xz