2010-12-27 4 views
9

私はAmazon EC2のインスタンスで、apache2、php5、mysqlを実行するubuntu 10.04サーバーを設定しています。どのように高いCPU負荷をApacheで解決するには? (ubuntu + ec2)

システムを使用するユーザーが10人未満の場合、サーバーはCPU負荷の20%、30%、40%を取得します。 |

11121 WWW-データ20 0 71940 20メートルの11メートルのS:

私は初の行に表示トップを使用して22.6 | 1.2 | 0:00.68 apache2
10108 www-データ20 0 72196 22m 12m S | 21.9 | 1.3 | 1:15.81 apache2
11122 www-data 20 0 71936 20m 11m S | 7.3 | 1.2 | 0:00.68 apache2
10111 www-データ20 0 72196 22m 12m S | 1.7 | 1.3 | 1:16.43 apache2

この4行のCPU合計は53,5です。

どのようにプロセスをより詳細に見ることができますか?
スクリプトの実行時間を調べるには、それぞれのプロセッサが消費する時間を考慮する必要があります。

ありがとうございました。

答えて

3

親プロセスでstraceを使用すると、その動作をよりよく理解できます。

+0

[OK]を..私はそれを使用..しかし、私はApacheのプロセスについての詳細を知りたいお役に立てば幸いです。それがどのように処理するかだけでなく、何を処理するか。どのようなスクリプトが今実行されていますか?各スクリプトがCPUからどのくらいの時間スピンしていますか? –

3

何をしているのかを調べる方法の1つは、lsofを使用することです(インストールする必要があるかもしれません)。あなたの例ではプロセスは、あなたがこれを行うとアクセスしているかを確認するには、次の

11121,10108,11122,10111

-p lsofをこれはあなたのプロセスを開いているすべてのファイルを表示します。通常、ApacheのプロセスでのCPU使用率が高いのは、Webサイトがサーバー側で実行しようとしていることによるものです。