web-dev-qa-db-ja.com

カーネルのPSI(プレッシャーストール情報)を表示する方法

Ubuntu 16.04を実行していますが、Linuxカーネルのバージョンは4.4.0です。どうすればカーネルの [〜#〜] psi [〜#〜] を有効にできますか?または、同様のツールはありますか?

2
user769060

各リソースの圧力情報は、/proc/pressure/cpumemory、およびioのそれぞれのファイルを介してエクスポートされます。

CPUのPSIコマンドは次のとおりです。

some avg10=0.00 avg60=0.00 avg300=0.00 total=0

メモリとIOの場合:

some avg10=0.00 avg60=0.00 avg300=0.00 total=0

full avg10=0.00 avg60=0.00 avg300=0.00 total=0

「一部」の行は、特定のリソースで少なくとも一部のタスクが停止している時間の割合を示します。

「フル」の行は、アイドル以外のすべてのタスクが特定のリソースで同時に停止している時間の割合を示します。この状態では、実際のCPUサイクルが無駄になり、この状態で長時間を費やすワークロードはスラッシングと見なされます。これはパフォーマンスに深刻な影響を及ぼします。この状況を、一部のタスクが停止しているが、CPUがまだ生産的な作業を行っている状態と区別すると役立ちます。そのため、ストール状態のこのサブセットで費やされた時間は個別に追跡され、「完全な」平均でエクスポートされます。

詳細はmy source にあります。これは、クエリの最初のグラフのリンクとして追加しました。

1
K7AAY

「監視」では、現在の値の実行中の表示がおそらく必要です。これは、watchを使用することで実現できます。

watch cat /proc/pressure/*

(ここでは、どの線がどのカテゴリーを示しているかを見分けるのは困難です)
または

watch "(echo CPU; cat /proc/pressure/cpu ; echo IO; cat /proc/pressure/io; echo MEMORY; cat /proc/pressure/memory)"

のようなものを表示します

CPU
some avg10=0.00 avg60=0.00 avg300=0.04 total=51646098
IO
some avg10=0.00 avg60=0.00 avg300=0.09 total=20413087
full avg10=0.00 avg60=0.00 avg300=0.08 total=16237739
MEMORY
some avg10=0.00 avg60=0.00 avg300=0.00 total=0
full avg10=0.00 avg60=0.00 avg300=0.00 total=0
1
guntbert