FreeBSDの実装はしらないけど、この機能は一般論としては議論が多い機能で、なんでかというとフラグメント問題を悪化させるから。 当然だけど、2Mサイズページを作るって事は物理アドレス的に2Mの連続領域が必要だからね。さらにメモリ不足時も2M単位で処理する羽目になるので、そこで、2M一気にスワップアウトするにしろ、4K x 512に分割するにしろ性能劣化は避けられない。 で、性能向上するアプリはかなり限定的なので手動でONにすればいいじゃん。と言い出す人が一定数いる。Linuxで実装されないのはそういう理由。
transparent superpage (スコア:4, 参考になる)
識者じゃないけど。
(知らずに書いているので、あんまり真に受けないように)
x86でいうと、通常の4Kページではない2Mとか1Gとかのページサイズをスーパーページとかラージページとかヒュージページとかいいます(OSによって微妙に名前が違う)
で、アプリケーションから2M mmapしたときに、2Mサイズページを1ページ作って返すのが透過的スーパーページ。Solarisではだいぶ前から出来ている(Linuxはいまだに出来ていない)
FreeBSDの実装はしらないけど、この機能は一般論としては議論が多い機能で、なんでかというとフラグメント問題を悪化させるから。
当然だけど、2Mサイズページを作るって事は物理アドレス的に2Mの連続領域が必要だからね。さらにメモリ不足時も2M単位で処理する羽目になるので、そこで、2M一気にスワップアウトするにしろ、4K x 512に分割するにしろ性能劣化は避けられない。
で、性能向上するアプリはかなり限定的なので手動でONにすればいいじゃん。と言い出す人が一定数いる。Linuxで実装されないのはそういう理由。
欠点ばかり書いたけど、スーパーページはHPC系ワークロードで10%ぐらい性能向上するので、使い方によっては美味しいですよ。