0

x86 では、ページ サイズが 4KB であることがわかっています。64G の RAM がある場合、16M ページのエントリがあり、あまりにも多くの tlb ミスが発生します。x86 では、PAE が 4GB を超えるメモリにアクセスできるようにすることができます。(そして、ページサイズはページごとに 2MB に分割できますか?)

Hugepagetlbfs を使用すると、huge page を使用してパフォーマンスを向上させることができます (例: tlb ミスを減らす) が、多くの制限があります。

  • Hugepagetlbfs を書き込むには、共有メモリ インターフェイスを使用する必要があります。

  • すべてのプロセスで使用できるわけではありません

  • 予約メモリが失敗する可能性があります

したがって、ページ サイズを 2M または 4M に変更できれば、パフォーマンスが向上します。

私のやり方で、それを変更する方法をいくつか試しましたが、失敗しました。

  • CONFIG_HUGETLBFS でカーネルをコンパイルし、失敗する
  • CONFIG_TRANSPARENT_HUGEPAGE と CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS を使用してカーネルをコンパイルすると、失敗します

誰か助けてくれませんか?

4

0 に答える 0