http://httpd.apache.org/docs/2.0/mod/prefork.html
prefork - Apache HTTP Server
http://httpd.apache.org/docs/2.0/mod/worker.html
worker - Apache HTTP Server
何はともあれ、起動数の上限を見直して下さい。apache2.0であれば、どちらかの環境で動いているはずです。apacheのマニュアルは、読んだことありますか? なかったら、少しずつでも読むことをお薦めします。
設定を変えることによる影響ですが、プロセスが多すぎて、スワップアウトしてしまうような状態よりは、プロセスを減らすことで、スワップアウトを防ぐ方が重要だと考えます。
また、使用していないモジュールがあるのであれば、起動時に読み込まれないようにすることで、使用メモリをちょっとでも抑えることが出来ると思います。
参考にします ありがとうございます
http://www.atmarkit.co.jp/flinux/rensai/apache16/apache16b.html
@IT:Apacheパフォーマンス・チューニングの実践(2/2)
応急処置ということで以下の数値を下げてみてはどうでしょうか?
接続数制限(MaxKeepAliveRequests:デフォルトは100)
持続時間制限(KeepAliveTimeout:デフォルトは15秒)
起動プロセス数制限(MaxClients:デフォルトは150)
http://www.atmarkit.co.jp/flinux/rensai/apache2_08/apache08a.htm...
接続数/帯域制限で無法なダウンローダを撃退(1/4) - @IT
Apache2.0以降となりますが、サーバリソースを制限してしまうという手も・・・
いずれにしても接続され難くなるといったマイナス点がありますが、あくまでも一時的措置と言う事でいかがでしょう?
http://www.sixapart.jp/movabletype/developers/naoya/archives/200...
Techknow Movable Type: リバース・プロキシ導入の準備知識
参考にしてみます
http://www.nspl.co.jp/Solaris/Internet/apache1_3_12.html
Apacheのインストールと設定
環境が不明なので一概にはいえませんが、
topコマンドで参照した際に、上部に表示されるのが実行中のプロセスということになります。なので、下のほうに表示されているhttpdプロセスは待機中ということになります。
そのため、ピークと思われるときにどれぐらいのhttpdプロセスが実行されているかが問題ですね。通常apacheのaccesslogを分析して1秒当たりの接続数を知ることで、現状のサーバの要求数を知ることができます。
その情報を元に最大接続数と最低接続数(初期生成プロセス数)をチューニングしてみてはいかがでしょうか?
最大接続数を超えたリクエストを受信しているようであれば、クライアントは待たされることになりますが、サーバーがダウンするよりは良いかと思います。
あとは、上記回答者と同様で、設定パラメータを勉強することが最良かと思います。