![]() |
Firefox web browser - Faster, more secure & customizable |
Firefoxでは長らく種類を特定することができない謎のヒープメモリが存在していた。Nightly版でURL欄に「about:memory」を入力すると、メモリ表示の2行目に「heap-unclassified」という項目が見つかるはずだ。何に使われているのかわからない上に、全体のメモリ利用のうえでかなりの割合を占めている。この用途不明のメモリを突き止め排除すれば、メモリ使用量を大幅に減らすことが可能になるとみられる。
この用途不明メモリの正体のひとつが実はjemallocのメモリアロケート時に発生する未使用領域であることがNicholas Nethercote氏によって報告された。すでに原因も明らかになっており、調査および分析を実施した結果、どの部分を改善すればメモリ使用量を大幅に削減できるかの目処も付いているようだ。Firefox 8やFirefox 9以降のFirefoxは、メモリ使用量が大幅に減る可能性がある。
FirefoxはFirefox 3でメモリアロケータとして新しく「jemalloc」を採用した。jemallocはもともとFreeBSDでマルチコアでスケールするアロケータが必要だとして取り込まれたもので、以後Firefoxのみならずほかのプロジェクトでも活用されている。Firefoxにおけるメモリ使用量の増加や使用量の肥大化は常に指摘され続けている問題点であり、随時改善が実施されている。
jemallocでは確保したメモリを開放するときにフラグメンテーションが発生しにくくなるように、特定のサイズに区切ってメモリの確保を実施している。たとえば1,025バイトのアロケーション要求がきた場合、jemallocは2,048バイトを確保する。1,023バイトは利用されない無駄なメモリ領域となる。Nicholas Nethercote氏はこの領域を「スロップ」と呼んでいる。
スロップを完全に排除するには、jemallocの確保するサイズでメモリ確保要求を出すようにプログラムを書き換えれば良いことになる。基本的には2のべき乗で容量を確保すればいい。既存のコードも2のべき乗でメモリを確保するなど工夫されているものもあるが、ヘッダデータを追加するために2のべき乗のサイズにさらに追加で若干のサイズが加わっているものなどがあり、かなりもったいないスロップが発生している部分があるという。
すでにどの部分でスロップが発生しているのか大枠で特定されており、改善へ向けた取り組みが進められている。スロップの発生を完全に排除するのは難しい面があるが、とくによく使われる部分のメモリ確保の方法を変更することで大きな改善が期待できる。現在すでにメモリ使用量とガベージコレクション実行の面で大きな進歩を見せたFirefoxナイトリーだが、今後さらなるメモリ使用量の削減が期待できそうだ。
| 150タブベンチ、FirefoxとOperaは似た性能結果 [2011/8/8] |
| Firefox新デザイン案公開 - Chromeによく似ている? [2011/8/3] |
| Firefox、タブとアドレスバーを1行にまとめる「OneLiner」を試験公開 [2011/8/2] |
| Firefox、大量タブ使用時のパフォーマンスはChromeを圧倒 [2011/8/1] |
| Firefox、開発ツールの開発/統合作業を急ぐ [2011/7/25] |
| Firefoxマルチプロセス化パッチ、Firefox 8ナイトリーに登場 [2011/7/22] |
| Firefox、新ビジョン発表 - Mozillaが目指す次世代Firefoxとは [2011/7/22] |
| Firefox 6週間リリース対応方法を模索する「企業ワーキンググループ」結成 [2011/7/21] |
| Firefoxが専用アプリに! Mozilla、Webサイトを"アプリ化"する実験機能提供 [2011/7/19] |
| Mozilla、Firefox Sync用サーバの実装をPHPからPythonへ移行 [2011/7/15] |
| インスリンは複数の分泌パターンで3種類の分子を選択的に制御 - 東大が解明 [17:50 5/28] |
| ルネサス、マイコン事業の強化に向けてTSMCとの協業を強化 [17:48 5/28] |
| イプスイッチ、Windows環境の監視ツール「WhatsUp Gold」で日本語に対応 [15:33 5/28] |
| アイシンの最新安全運転システム - 車両周辺・後方障害物監視、わき見・居眠り判断 [10:30 5/28] |
| ラネクシー、画像処理ソフトウェア開発キットの最新版を64bit版で販売 [10:10 5/28] |
|
兄弟姉妹や双子ちゃんが一緒に乗れる、ハイエンドなドイツ製ベビーカー [17:54 5/28] ライフ |
|
インスリンは複数の分泌パターンで3種類の分子を選択的に制御 - 東大が解明 [17:50 5/28] エンタープライズ |
|
Apple I動作品がオークションに - 価格は12~18万ドル? Jobs氏直筆メモも [17:50 5/28] パソコン |
|
人との"つながり"にまつわるエピソードを募集 - 全労済など5団体が合同企画 [17:48 5/28] ライフ |
|
ルネサス、マイコン事業の強化に向けてTSMCとの協業を強化 [17:48 5/28] エンタープライズ |
4つの診断で、自分の適性を見つめなおそう!
働くこと・挑戦し続けることへの思いを綴ったインタビュー
あなたにピッタリのアドバイスを読むことができます。
転職に必要な情報が収集できます
企業からアプローチのメッセージが届きます。