2012年10月10日水曜日

メモリリークの原因

OpenSim Version 0.7.5 (Dev)Build 4e9509d にアップデイトしてみましたが、相変わらずメモリ使用量は時間とともに増加するようです。
Kimiko Dover さんの「OSgridのメモリー消費増加の原因」って記事を前にみてたので、試しに OpenSim.iniの[Startup]セクションの次の3つの設定をコメントアウトにしてみました。
[Startup]
    ...
    ;WorldMapModule = "WorldMap"
    ;MapImageModule = "Warp3DImageModule"
    ;GenerateMaptiles = true
コメントアウトし、しばらく動かしてみてますが、メモリ使用量の増加はおこらないようです。psコマンドを定期的に動かしてメモリ使用量を記録するスクリプトをcronで動かしてみてますが、増えたり減ったりしてます(減ることもある)。
vsizeが仮想記憶メモリサイズ(KB)で、rssが常駐メモリサイズ(KB)です。
タイムスタンプ       vsize  rss    コマンドライン
2012-10-09 23:00:00  316780 224232 mono OpenSim.exe
2012-10-09 23:30:00  316780 224232 mono OpenSim.exe
2012-10-10 00:00:00  316780 224232 mono OpenSim.exe
2012-10-10 00:30:00  316780 224232 mono OpenSim.exe
2012-10-10 01:00:00  316780 224256 mono OpenSim.exe
2012-10-10 01:30:00  316848 224304 mono OpenSim.exe
2012-10-10 02:00:00  316848 224332 mono OpenSim.exe
2012-10-10 02:30:00  316848 224340 mono OpenSim.exe
2012-10-10 03:00:00  316848 226112 mono OpenSim.exe
2012-10-10 03:30:01  316848 214680 mono OpenSim.exe
2012-10-10 04:00:00  316848 213312 mono OpenSim.exe
2012-10-10 04:30:00  316848 210284 mono OpenSim.exe
2012-10-10 05:00:01  316848 210284 mono OpenSim.exe
2012-10-10 05:30:00  316848 210296 mono OpenSim.exe
2012-10-10 06:00:00  316848 208484 mono OpenSim.exe
2012-10-10 06:30:00  316848 208484 mono OpenSim.exe
2012-10-10 07:00:00  316848 209968 mono OpenSim.exe
2012-10-10 07:30:00  316848 209968 mono OpenSim.exe
2012-10-10 08:00:00  316848 209968 mono OpenSim.exe
2012-10-10 08:30:00  316848 209968 mono OpenSim.exe
2012-10-10 09:00:00  316848 209972 mono OpenSim.exe
2012-10-10 09:30:00  316848 209972 mono OpenSim.exe
2012-10-10 10:00:00  316848 209972 mono OpenSim.exe
2012-10-10 10:30:00  316848 209972 mono OpenSim.exe
2012-10-10 11:00:00  316848 212752 mono OpenSim.exe
2012-10-10 11:30:00  316848 212756 mono OpenSim.exe
2012-10-10 12:00:00  316848 212756 mono OpenSim.exe
2012-10-10 12:30:00  316848 212756 mono OpenSim.exe
2012-10-10 13:00:00  316848 212760 mono OpenSim.exe
2012-10-10 13:30:00  316848 212760 mono OpenSim.exe
2012-10-10 14:00:00  316848 212760 mono OpenSim.exe
2012-10-10 14:30:00  316848 212760 mono OpenSim.exe
2012-10-10 15:00:00  316848 213096 mono OpenSim.exe
2012-10-10 15:30:00  316848 213096 mono OpenSim.exe
2012-10-10 16:00:00  316848 213096 mono OpenSim.exe
Warp3DImageModuleについては、「http://opensimulator.org/wiki/Warp3DImageModule 」に記述があります。

Warp3DImageModuleを使わないと、マップに表示される画像がしょぼくなりますが、メモリリークしなくなります。なので、使わない方向でしばらく動かそうと思います。

ちなみにOSG48のメンバーの方によると、WindowsでOpenSimを動かしている場合は、このようなメモリリークは起こらないそうです。

Warp3DImageModule、もしくはmono特有の問題なのかもしれません。libgdiplusとかX11とかのライブラリとかが関係しているのかも...。

0 件のコメント:

コメントを投稿