Firefox のメモリ使用量
Posted by yoosee on Web at 2006-04-14 23:42 JST1 Firefox のメモリ使用量
Firefox がメモリ喰いだと言うのは良く言われることだろうが、ふと手元の環境を 1.5.0.2 に上げた時に見たのがあんまりだったので記録しておく。環境は Let's Note CF-Y4, Mem 1GB, Debian GNU/Linux sarge, kernel 2.6.12.2pm, Firefox 1.5.0.1 。まず Firefox を 3 日以上継続して使い、タブの数を 20 にした状態。
% free total used free shared buffers cached Mem: 906304 895784 10520 0 23260 91516 -/+ buffers/cache: 781008 125296 Swap: 1951888 183160 1768728Firefox (20タブ) 終了後
% free total used free shared buffers cached Mem: 906304 305920 600384 0 23540 96900 -/+ buffers/cache: 185480 720824 Swap: 1951888 178972 1772916Mem free が 589,864 KBytes も増えている。実メモリの 65% に相当する。buffers/cache で見ても free が 595,528 KBytes 増えている。Firefox (20タブ) 再起動直後
% free total used free shared buffers cached Mem: 906304 388672 517632 0 23800 113320 -/+ buffers/cache: 251552 654752 Swap: 1951888 178964 1772924起動直後ならばタブが同数開いていてもメモリ使用量は 50MB 程度。
2 Firefox のメモリ使用量を減らす幾つかの方法
えむもじら - メモリ使用量スレッド FAQ あたりが参考にはなるが、たいして決定的な方法はない。例えば browser.sessionhistory.max_total_viewers は以前にスラドの記事にもなったが、ブラウザ全体でせいぜい 8ページ分、32MB の削減にしかならないし、config.trim_on_minimize はあくまで最小化したときにメモリを非アクティブ領域(多くは swap)へ追い出すだけの設定だ。Firefox/Thunderbird を起動中にメモリを喰うソフトを一時的に併用したいときは便利かも知れないが。コードを見たわけではないので想像だけで書くが、Firefox は恐らくメモリの効率利用のために、確保したメモリをタブを閉じても簡単には開放せずに次の新規タブのために保持しているのではないか。最終的には OS のメモリ管理機構が swap を使うのに任せてメモリを確保し続けているような挙動に見える。そう言う意味で、これはメモリリークではないのだが、全セッションでの最大仮想メモリ利用サイズを設定してそれ以上は使わない、なんていう設定があっても良さそうな気がする。でもそんな項目は無いし、実現するのも辛そうだ。