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 を使用してカーネルをコンパイルすると、失敗します
誰か助けてくれませんか?