このドキュメントで説明するソフトウェアは、Extended SupportまたはSustaining Supportのいずれかにあります。 詳細は、https://www.oracle.com/us/support/library/enterprise-linux-support-policies-069172.pdfを参照してください。
Oracleでは、このドキュメントに記載されているソフトウェアをできるだけ早くアップグレードすることをお薦めします。
uptime、mpstat、sar、dstatおよびtopユーティリティを使用すると、CPU使用率を監視できます。 システムのCPUコアがプロセスのコードの実行ですべて占有されている場合、他のプロセスは、CPUコアが空くまで、またはそれらのコードを実行するようにスケジューラがCPUコアを切り替えるまで待機する必要があります。 多数のプロセスが頻繁にキューに入れられる場合、これはシステムのパフォーマンスにおけるボトルネックを示している場合があります。
コマンドmpstat -P ALLおよびsar -u -P ALLでは、各CPUコアおよび全CPUコアの平均のCPU使用率統計が表示されます。
%idle
の値は、CPUでシステム・コードまたはプロセス・コードが実行されていなかった時間の割合を示します。 %idle
の値が全CPUコア上の時間の大半である0%に近い場合、システムは、実行中のワークロードに対してCPUバインドされています。 システム・コードの実行に費やす時間の割合(%system
または%sys
)は通常、%idle
が0%に近い場合は特に、30%を超えないようにする必要があります。
システム・ロード平均は、CPUコアで実行中、実行待機中またはディスクI/Oアクティビティの完了待機中のプロセスの一定期間の平均数を表します。 ビジー・システムでは、uptimeまたはsar -qでレポートされるロード平均は通常、5分間または15分間の期間でCPUコア数の2倍を超えないようにする必要があります。 ロード平均がCPUコア数の4倍を長期間超える場合、システムはオーバーロードです。
ロード平均(ldavg-*
)に加えて、sar -qコマンドでは、現在実行待機中のプロセスの数(実行キュー・サイズ、runq-sz
)、およびプロセスの合計数(plist_sz
)がレポートされます。 runq-sz
の値では、CPU飽和の指標も提供されます。
ユーザーおよびアプリケーションがシステムの応答に関する問題を経験しないような、標準負荷におけるシステムの平均ロードを確認し、このベンチマークからの偏差を一定期間調べます。 ロード平均の大幅な上昇は、重大なパフォーマンスの問題を示す場合があります。
持続的で非常に大きいロード平均または実行キュー・サイズと低い%idle
の組合せは、ワークロードに対してCPU性能が不十分であることを示す場合があります。 CPU使用率が高い場合は、dstatまたはtopなどのコマンドを使用して、原因である可能性が最も高いプロセスを判別します。 たとえば、次のdstatコマンドでは、CPU、メモリーおよびブロックI/Oを最も集中的に使用しているプロセスが示されます。
# dstat --top-cpu --top-mem --top-bio
topコマンドでは、CPUアクティビティのリアルタイムの表示が提供されます。 デフォルトで、topでは、システム上の最もCPU集中型のプロセスがリストされます。 その上部のセクションに、topでは、過去1分間、5分間および15分間のロード平均、実行中およびスリープ中のプロセス(タスク)数、合計CPU使用率とメモリー使用量などの一般情報が表示されます。 その下部のセクションに、topでは、プロセスID番号(PID)、プロセス所有者、CPU使用率、メモリー使用量、実行時間、コマンド名など、プロセスのリストが表示されます。 デフォルトで、リストはCPU使用率でソートされ、CPUの上位コンシューマが最初にリストされます。 topで表示されるフィールドを選択するにはf
、フィールドの順序を変更するにはo
、またはソート・フィールドを変更するにはO
を入力します。 たとえば、On
と入力すると、メモリー使用量の割合フィールド(%MEM
)でリストがソートされます。