(初めて質問してみます。失礼な点がありましたらご容赦ください。)


Apacheで、スワップを作らなくするような設定ってあるのでしょうか?
メモリが十分に余っているにもかかわらず、スワップが発生して重くなる時があるのです。
(そもそもなぜメモリが十分余っているのに、スワップが発生するのかが謎なのですが・・)
メモリは2GB積んでいて、スワップは8MB程度作られます。

回答の条件
  • 1人2回まで
  • 登録:2007/09/04 16:20:13
  • 終了:2007/09/05 02:01:12

回答(4件)

id:arhbwastrh No.1

arhbwastrh回答回数447ベストアンサー獲得回数232007/09/04 16:42:08

ポイント23pt

それはスラッシングが起きているということでしょうか?

それとも、ごく稀に起きるんでしょうか?

ごく稀にであれば一時的にアクセスが集中しているとか・・

ご利用の環境がわからないので、詳しいことは言えませんが、スワップを作らないようにすることが良い解決策ではないような気がします。もし仮にスワップを作らなかったとしたら、次に起こる可能性があるのはフリーズですかね。。

id:samehada7

ご回答ありがとうございます。

sarコマンドでみると、一時的ではなく常にiowaiteが70以上を示しているのです。

プログラム内で余計な処理が走っているのかもしれませんね。


ちなみに環境は以下の通りです。

OS   :CentOS4.3

カーネル:2.6.9-34

Apache :2.0.5.2

PHP   :4.4.2

2007/09/04 17:10:21
id:Yota No.2

Yota回答回数453ベストアンサー獲得回数282007/09/04 17:53:26

ポイント23pt

with-mpm=workerでコンパイルしてみたらどうでしょう。プロセスの数が減ると思うので。

http://httpd.apache.org/docs/2.0/ja/mod/worker.html

http://httpd.apache.org/docs/2.0/ja/mpm.html

id:samehada7

なるほど、すぐに試すことはできないのですが、近くやってみたいと思います。

ありがとうございます。

2007/09/05 01:57:34
id:KUROX No.3

KUROX回答回数3542ベストアンサー獲得回数1402007/09/04 19:46:42

ポイント22pt

DBにPostgreSQL とか使ってませんか?

最近は、DB使う人が多いようなので念のため。

もし使ってるのなら、PostgreSQL がボトルネックに

なってる可能性があります。

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?mode=viewtopic...

id:samehada7

DBはMySQLです。

でも設定が悪ければMySQLでもボトルネックの可能性もありますね。

ありがとうございます。

2007/09/05 01:58:29
id:b-wind No.4

b-wind回答回数3344ベストアンサー獲得回数4402007/09/04 21:39:22

ポイント22pt

スワップを Apache からコントロールする事は出来ないし、スワップの必要な状況でスワップしないようにしてしまうと待っているのはアプリケーションの強制終了。

スワップの原因を調べるのが先かな。


Manpage of TOP

Manpage of VMSTAT

等のコマンドでリアルタイムな状況、特にどのプロセスが多くメモリを使用しているかを調べてみてください。


なお、最近の Linux カーネルは積極的にスワップアウトさせてメモリをあけ、バッファに割り当てるような構造になっているようなので、大量のスワップが発生する事自体は普通です。

id:samehada7

そうですね、もっと調査するといろいろなことがわかりそうです。調査を続行してみます。

ありがとうございます。

2007/09/05 02:00:36

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません