GNU/Linux >> Linux の 問題 >  >> Linux

CPU 使用率の高い apache プロセスが実際に行っていることを調べますか?

解決策 1:

勇気があるなら、

gdb -p 20788

次に bt を発行します e の場合、スタック フレームを表示します。 g.

ところで、ltrace もあります 言及する—それも試してみてください。

更新 :わかりました。Apache が実際に何かを実行していることがわかったので、mod_status を見てみませんか? 出力 — 拡張されたもの?

解決策 2:

非常に簡単な方法は htop を使用することです .使用率の高い CPU プロセスを並べ替えてから使用できます

  • s for strace プロセス
  • l for lsof プロセスの開いているファイルを表示する
  • L ~ ltrace .

そのオプションの少なくとも 1 つで、負荷を生成するスクリプトが検出されることがわかりました。もちろん、これを運用 Web サーバーで使用してデバッグすることもできます。

解決策 3:

あなたは試すことができます:

  • iotop (システム上の I/O を表示)
  • netstat -t (接続を表示)
  • Apache のログファイルを見て、サーバーが最後に何をしたかを調べてください
  • apache プロセスにいくつかの RLimits を設定します。これらの制限に達すると、プロセスが強制終了され、詳細情報が提供されます

Linux
  1. 実行しているLinuxバージョンは何ですか?調べる方法は次のとおりです

  2. LinuxでプロセスのCPU使用率を制限する方法

  3. Linuxコマンドが何をするかを知る方法

  1. Linuxで特定のプロセスを実行しているCPUコアを見つける4つの方法

  2. このX11ウィンドウを作成したプロセスは何ですか?

  3. サーバーが仮想か物理かを確認するためのターミナルコマンド?

  1. WindowsServerでの高いCPU使用率のトラブルシューティング

  2. プロセスが機能するために必要な Linux の機能を調べる方法は?

  3. 非常に高い CPU 使用率で実行されている Jenkins