ページサイズは一定ですか?より具体的に言うと、getconf PAGE_SIZE は 4096 で十分です。しかし、これはプログラムの実行時に変更できるのでしょうか? または、OSプロセスのスポーン全体で一定ですか。つまり、プロセスが 1024 と 2048 と 4096 のページ サイズを持つことは可能ですか? ここでは、仮想ページ サイズについてだけ説明しましょう。しかし、仮想ページがより大きなサイズの物理ページにまたがることは可能でしょうか?
1 に答える
3
プロセスが複数のページサイズを使用する可能性があります。新しいカーネルでは、これは予告なしに発生する場合もあります。 Andrea Arcangelis transparent huge pagesを参照してください。
それ以外に、hugetlbfsを介して異なる (通常はより大きな) ページ サイズでメモリを要求できます。
大きなページを持つ主な理由はパフォーマンスです。プロセッサ内の TLB のサイズは非常に限られています。ページ数は少ないが大きなページはヒット数が多いことを意味します。
于 2011-06-06T12:31:02.263 に答える