私は最近、パフォーマンスの問題を調査するためにprstatとprstat -ma lotを使用していましたが、私は基本的に、 Solaris 10。したがって、私は常に両方が常に同じ数字を表示するとは思わない。Solarisのprstatと 'prstat -m'の違いを解釈する
今日私は、2つの非常に異なる出力を示し、それらを解釈し、出力を理解するのに問題がある機会に出会った。このマシンは、いくつかの大規模なWebSphereプロセスとOracleデータベースを備えた負荷の高い8-CPU Solaris 10です。システムは実際には約15分(負荷平均> 700)の間停止しました。私はprstat情報を得るのが難しかったが、すぐに発行された "prtstat 1 1"と "prtstat -m 1 1"の出力を得ることができた。出力の
トップライン:
prstatは1:1(いくつかの秒後)
PID USERNAME SIZE RSS STATE PRI NICE TIME CPU PROCESS/NLWP 8379 was 3208M 2773M cpu5 60 0 5:29:13 19% java/145 7123 was 3159M 2756M run 59 0 5:26:45 7.7% java/109 5855 app1 1132M 26M cpu2 60 0 0:01:01 7.7% java/18 16503 monitor 494M 286M run 59 19 1:01:08 7.1% java/106 7112 oracle 15G 15G run 59 0 0:00:10 4.5% oracle/1 7124 oracle 15G 15G cpu3 60 0 0:00:10 4.5% oracle/1 7087 app1 15G 15G run 58 0 0:00:09 4.0% oracle/1 7155 oracle 96M 6336K cpu1 60 0 0:00:07 3.6% oracle/1 ... Total: 495 processes, 4581 lwps, load averages: 74.79, 35.35, 23.8
は、prstat -m 1 1
PID USERNAME USR SYS TRP TFL DFL LCK SLP LAT VCX ICX SCL SIG PROCESS/NLWP 7087 app1 0.1 56 0.0 0.2 0.4 0.0 13 30 96 2 33 0 oracle/1 7153 oracle 0.1 53 0.0 3.2 1.1 0.0 1.0 42 82 0 14 0 oracle/1 7124 oracle 0.1 47 0.0 0.2 0.2 0.0 0.0 52 77 2 16 0 oracle/1 7112 oracle 0.1 47 0.0 0.4 0.1 0.0 0.0 52 79 1 16 0 oracle/1 7259 oracle 0.1 45 9.4 0.0 0.3 0.0 0.1 45 71 2 32 0 oracle/1 7155 oracle 0.0 42 11 0.0 0.5 0.0 0.1 46 90 1 9 0 oracle/1 7261 oracle 0.0 37 9.5 0.0 0.3 0.0 0.0 53 61 1 17 0 oracle/1 7284 oracle 0.0 32 5.9 0.0 0.2 0.0 0.1 62 53 1 21 0 oracle/1 ... Total: 497 processes, 4576 lwps, load averages: 88.86, 39.93, 25.51
私は非常に苦労解釈を持っています出力。 prstatは、Javaの処理のかなりの量が、通常の状況で予想していたのと同じように、いくつかのOracleのものと一緒に進んでいると私に伝えているようです。 prtstat -mは、大量のシステム時間を消費するOracleが完全に支配的なマシンを示し、CPU全体が過負荷になっています(LATの数が多い)。
私はprstat -mの出力を信じる傾向があります。これは、この時間にシステムが感じたものに非常によく似ているからです。完全に静かで、WebSphereからのユーザー要求処理はほとんどありません。しかし、なぜprstatは数が大きく異なるのでしょうか?
これについての説明は歓迎します!
CU、ジョー
ありがとう、それは完全にそれを説明する!その間、prstat -Lm、plockstat、およびdtraceを使用して監視を開始しましたが、これ以上の状況はありませんでした。だから私たちはまだ何が起こったのか正確にはわからない。 – jammann