これを行うには、いくつかの方法があります。1つだけでなく、これを引き起こす暴走シナリオで多くのプロセスが完全に可能であることに注意してください。
最初の方法は、pidstatをセットアップしてバックグラウンドで実行し、データを生成することです。
pidstat -u 600 >/var/log/pidstats.log & disown $!
これにより、10分間隔でのシステムの実行の非常に詳細な見通しが得られます。これは、最も価値のある/信頼性の高いデータを生成するため、これが最初の呼び出しポートであることをお勧めします。
これには問題があります。主に、ボックスが暴走CPUループに入って巨大な負荷を生成する場合です。実際のプロセスがロード中にタイムリーに実行されるとは限らないため(実際に出力が失われる場合) !
これを探す2番目の方法は、プロセスアカウンティングを有効にすることです。おそらくより長期的なオプションです。
accton on
これにより、プロセスアカウンティングが有効になります(まだ追加されていない場合)。前に実行されていなかった場合、これには実行する時間が必要です。
実行されてから、たとえば24時間-このようなコマンドを実行できます(このような出力が生成されます)
# sa --percentages --separate-times
108 100.00% 7.84re 100.00% 0.00u 100.00% 0.00s 100.00% 0avio 19803k
2 1.85% 0.00re 0.05% 0.00u 75.00% 0.00s 0.00% 0avio 29328k troff
2 1.85% 0.37re 4.73% 0.00u 25.00% 0.00s 44.44% 0avio 29632k man
7 6.48% 0.00re 0.01% 0.00u 0.00% 0.00s 44.44% 0avio 28400k ps
4 3.70% 0.00re 0.02% 0.00u 0.00% 0.00s 11.11% 0avio 9753k ***other*
26 24.07% 0.08re 1.01% 0.00u 0.00% 0.00s 0.00% 0avio 1130k sa
14 12.96% 0.00re 0.01% 0.00u 0.00% 0.00s 0.00% 0avio 28544k ksmtuned*
14 12.96% 0.00re 0.01% 0.00u 0.00% 0.00s 0.00% 0avio 28096k awk
14 12.96% 0.00re 0.01% 0.00u 0.00% 0.00s 0.00% 0avio 29623k man*
7 6.48% 7.00re 89.26% 0.00u 0.00% 0.00s
列は次のように順序付けられます。
- 呼び出し回数
- 通話の割合
- このタイプのすべてのプロセスに費やされた実時間。
- 割合。
- ユーザーCPU時間
- 割合
- システムCPU時間。
- 平均IO呼び出し。
- 割合
- コマンド名
探しているのは、ユーザー/システムCPU時間を最も多く生成するプロセスタイプです。
これにより、CPU時間の合計量(一番上の行)としてデータが分割され、そのCPU時間がどのように分割されたかがわかります。プロセスアカウンティングは、プロセスの起動時にオンになった場合にのみ適切にアカウンティングされるため、おそらくすべてのサービスが確実にアカウンティングされるように有効にした後、システムを再起動するのが最善です。
これは、実際にどのプロセスがこの問題の原因であるかについて明確なアイデアを実際に提供するわけではありませんが、良い感じを与えるかもしれません。24時間のスナップショットになる可能性があるため、結果が歪む可能性がありますので注意してください。また、カーネル機能であり、pidstatとは異なり、高負荷時にも常に出力を生成するため、常にログに記録する必要があります。
使用可能な最後のオプションもプロセスアカウンティングを使用しているため、上記のように有効にできますが、プログラム「lastcomm」を使用して、問題の前後に実行されるプロセスの統計と各プロセスのCPU統計を生成します。
lastcomm | grep "May 8 22:[01234]"
kworker/1:0 F root __ 0.00 secs Tue May 8 22:20
sleep root __ 0.00 secs Tue May 8 22:49
sa root pts/0 0.00 secs Tue May 8 22:49
sa root pts/0 0.00 secs Tue May 8 22:49
sa X root pts/0 0.00 secs Tue May 8 22:49
ksmtuned F root __ 0.00 secs Tue May 8 22:49
awk root __ 0.00 secs Tue May 8 22:49
これにより、問題の原因についてのヒントが得られる場合があります。