玄箱の空きメモリとapache2
玄箱にapache2をインストールして常時稼動している。apache2から、プロセス単位で複数同時アクセスをさばくモデルの他に、スレッドで複数のアクセスを処理する機能が追加されている(workerやらprechildと呼ばれているやつ)。
しかし、workerとprechildを試した結果、玄箱だとスレッドモデルの動作が怪しいので従来のプロセス単位(prefork)で動作させることにした。多分、glibcあたりが古いからだと推測するのだが、新しいglibcはgccのバージョンが3以上必要となるのでしばらく放置。
プロセスモデルでapacheを動作させると、当然複数のapacheが起動している。玄箱HGの場合、物理メモリは128Mあるので、空きメモリには余裕があるはず。空きメモリを確認するコマンド free を実行してみると・・
| total | used | free | shared | buffers | cached | |
| Mem: | 127088 | 110844 | 16244 | 0 | 16604 | 77664 |
| -/+ buffers/cache: | 16576 | 110512 | ||||
| Swap: | 257032 | 2744 | 254288 | |||
とか表示されて、一瞬「空きメモリが16Mしかないよ」と思ってしまう。
ところが、最近は空きメモリを積極的にバッファやキャッシュに割り当てて有効利用する仕組みになっているらしく、free + buffers + cachedが実質の空きということらしい。なるほど、なんでswap領域に退避されるサイズがいつも小さいのかと思っていたら、そうゆうことだったのか。
というわけで、空きメモリにはまだまだ余裕があるということになる。apacheと同時にtomcatを動かそうとしているのだけども、さすがに玄箱でjavaはクソ重い。更に、最終的にapache+tomcat+何かのDB の組み合わせを計画しているのだが、まともに動いてくれるのか心配でならん。
| 固定リンク


コメント