Apacheがなぜ非常に多くのプロセスを実行しているのですか?ここに過剰なRAMがありますか?


17

ApacheがLAMPサーバー(ubuntu 10.10)で複数のプロセスを実行していることに気付きました。MySQLをデータベースとして使用してWordpressサイトを実行しています。www-dataが必要以上にapache2を実行しているようです(あまりにも多くのメモリを使用しています)、私は正しいですか:

ID      Owner       Size        Command   
31200   www-data    251236 kB   /usr/sbin/apache2 -k start
20678   www-data    250948 kB   /usr/sbin/apache2 -k start
25781   www-data    248888 kB   /usr/sbin/apache2 -k start
31045   www-data    248844 kB   /usr/sbin/apache2 -k start
19926   www-data    246480 kB   /usr/sbin/apache2 -k start
20749   www-data    239380 kB   /usr/sbin/apache2 -k start
32616   www-data    238632 kB   /usr/sbin/apache2 -k start
8846    mysql   238128 kB   /usr/sbin/mysqld
24178   www-data    234228 kB   /usr/sbin/apache2 -k start
32618   www-data    232344 kB   /usr/sbin/apache2 -k start
32615   www-data    232204 kB   /usr/sbin/apache2 -k start
19805   root    208156 kB   /usr/sbin/apache2 -k start

これは以前の仕事(CentOS)でも同じです。私はちょうど...彼らはすべての子供がそれぞれのrequest.WeためのApacheの開始が原因このかかわらずにパフォーマンス/メモリの問題に直面したことはありません処理したと仮定
ナンディニアナンドに

うーん。このシステムはVPSであるため、このシステムでメモリが不足することが心配です。
トレントスコット

回答:


19

Apacheは複数のプロセスを実行して、クライアント要求が来たときにそれらを準備します。サーバープロセスの生成は遅いので、クライアントを待機させるのが最善です。

メモリ使用量については、アカウントが使用するRESサイズ(上部に表示)を考慮する必要があります。RESサイズは、タスクで使用される物理メモリの量です。

なぜメモリを使いすぎるapache2プロセスが多すぎると思いますか?何を期待しますか?なぜそう期待するのですか?


これはクラウドベースの画像上にあります。このような小さなサイトに必要なメモリよりも多くのメモリを使用しているようです。実メモリ:合計496.36 MB /空き92.02 MBスワップスペース:合計1024 MB / 975.93 MB空き
トレントスコット

1
@トレントン:パウエルの答えは問題ありません。実際にmysqlのクラッシュまたはメモリ不足が原因で何かが発生しない限り、大丈夫です。発生した場合は、これらの生成されたプロセスを制限するために、Apache構成を探す必要があります。
ナンディニアナンド

2
Linuxは、使用されるメモリのほとんどを保持しようとします。ほかに何も配置しない場合は、キャッシュとディスクバッファーにRAMを使用します。空のメモリは無駄なメモリです(RAMが不足していない場合)。
パウェウブロダッキ

3

Pawelの答えが説明するように、Apacheはプロセスプールのあるリクエストごとのプロセス(またはmpm_workerのリクエストごとのスレッド)を使用します。

nginxなどの非ブロッキングIOに基づくWebサーバーを使用することにより、メモリ使用量を削減できる場合があります。そうすれば、サーバーは接続ごとにプロセス/スレッドを専用にする必要がありません。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.