質問: linux系osのメモリの解放について お世話になります。 centos6.4を使ってphpアプリを動かしています。 結構メモリを消費するアプリなので、 使っているうちにoutofmemoryになることがあります。 ※正常終了する場合もあります。 正常に終了しようがoutofmemoryになろうが、 大量にメモリを確保した後は、そのまま解放されていないように見えます。 例えば、freeコマンドで見たときにに usedが減りません。 【例】 アプリケーション実行前 # apachectl restart # free total used free shared buffers cached mem: 16334660 472788 15861872 0 105700 120124 -/+ buffers/cache: 246964 16087696 swap: 2047992 0 2047992 ここでアプリケーション実行し正常に終了。 # free total used free shared buffers cached mem: 16334660 1754276 14580384 0 106836 120484 -/+ buffers/cache: 1526956 14807704 swap: 2047992 0 2047992 apacheを再起動すればusedは減るのですが、 他にusedになっているメモリを開放する方法はあるのでしょうか? また、どのようなメカニズムで解放されないのか教えていただけるとありがたいです。 よろしくお願いします。
回答: phpはapacheのモジュールでうごいているのでしょうか? またtopで観察していても変化はないでしょうか?