†Linuxなんて大キライ†
作成開始日 2024.01.02
最終更新日 2024.01.28
【追記】Windows/64bit版2.53.17.1@Win7でも同様な症状を確認
流石に正常な状態ではないので[about:memory|Show memory reoprts|Measure]でチェックしたところ、閉じたページのデータが「detached」のまま解放されずに累積されていた。メモリリークと考えて良いだろう。一応「about:memory」でGC/CC/Minimizeしてみたが、ほとんど効果がなかった。ちなみにこの現象、JavaScriptを全オフにしておくと発生しない。が、流石にそれでは不便過ぎる。また、Seamonkeyをいったん終了して起動し直せばリセットされる。閉じる前のタブは簡単に復元できるので、実用的と言えないこともないが、煩わしいし、そもそも正常な動作ではない。
で、Seamonkey/FireFoxのメモリ肥大化に関する情報をネットで漁ったところ、以下のような情報が見つかった。
image.mem.max_decoded_image_kb: 20000(kB) 20MB image.mem.surfacecache.max_size_kb: 256000(kB) 256MB image.cache.size: 256000(kB?) 256MB? javascript.options.mem.max: 51200(kB) 50MB javascript.options.mem.high_water_mark: 32(MB) これだけMB? browser.cache.memory.capacity: 0 browser.cache.memory.enable: false browser.sessionhistory.max_total_viewers: 0とまあ、いろいろ試してみたが、何れも「多少の効果」の域を出なかった。少なくとも、これらの対策を取っても、使用メモリはすぐに2GBをオーバーした。これでは解決にならない。それに、メモリ設定を下手に小さくすると、システム道連れでフリーズするので要注意。X落としてコマンドラインに抜けることすらできなくなったことがある。
仕方ないので、旧バージョンを試すことにした。私の記憶では、以前はこんなことは起きなかったはずなので…で、Seamonkey 2.49.5(Linux/64bit版)を試してみたところ、detachedページが居座る現象は発生せず、ページを閉じればその分メモリが解放されるという、正常な動作に戻った。
と言う結論で良いのかなぁ…?なお、Seamonkey 2.49.5でもヒープは解放されなかった。GCも効果なし。したがって、ホーム以外の全てのタブを閉じても初期状態に戻るわけではない。が、その影響は数十MB程度で実用上は問題なさそうだ。今回はここまで。
@Seamonkeyのダウンロードページから圧縮ファイルをダウンロードする A圧縮ファイル[seamonkey-2.49.5.tar.bz2]をダブルクリックで展開する B展開したフォルダ[seamonkey]を[/usr/lib]に移動する C[/usr/share/applications]に以下のようなファイル[seamonkey.desktop]を作成する D[/usr/lib/seamonkey/seamonkey]のシンボリックリンクを[/usr/bin]に入れておくと便利seamonkey.desktop
[Desktop Entry] Name=Seamonkey Comment=Browse the World Wide Web GenericName=Web Browser X-GNOME-FullName=Seamonkey Web Browser Exec=/usr/lib/seamonkey/seamonkey %u Terminal=false X-MultipleArgs=false Type=Application Icon=/usr/lib/seamonkey/chrome/icons/default/default48.png Categories=Network;WebBrowser; MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/ vnd.mozilla.xul+xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg; image/png;x-scheme-handler/http;x-scheme-handler/https;(*)MimeType行は3行継続 StartupWMClass=Seamonkey StartupNotify=true