どのCPUが1GBページをサポートしていますか?


19

一部のIntel CPUは1GBページをサポートしています。これは、CPUID 0x80000001、EDXビット26を調べることで識別されます。Linuxカーネルは、これをフラグ/proc/cpuinfoとして公開します。pdpe1gb

どのCPUがこれをサポートし、どのCPUがこれをサポートしていないかをどこで見つけますか または、この機能をサポートしている製品ラインは何ですか?これらのIntel ARKページには、この機能のサポートを示すものは何もありません。

CPUを行う 1GBのページをサポートしています。

1GBページをサポートしない他のCPU :


回答:


4

このページによると:

標準の4 KBページに加えて、AMDの新しいAMD64プロセッサやIntelのWestmere以降のプロセッサなどの新しいx86-64プロセッサは、ロングモードで1 GBページを使用できます。

Westmere CPUの新機能であるため、本当のようです。


5
はい、私は間違いなくそれらのウィキペディアのすべてのページを見ました!ただし、この答えは正しくありません。Sandy BridgeはWestmereよりも新しいものであり、現在、これをサポートしない 2つのSandy Bridge CPUがあります
ジョナサンラインハルト

2
@JonathonReinhart:Hugepagesの一般的な使用の大きな欠点、特に。1Gページでは、hugepage全体がそのほど多くの物理RAMを占有しています。プロセスが通常1GiBを割り当てる場合、実際に触れた部分だけが実際に仮想メモリを消費します。(オーバーコミットでは、カーネルが処理するのに十分なスワップ領域がない割り当ても許可されます)。Linuxは、プロセスが停止していてもhugepagesをディスクにページングできないため、hugepage割り当ては、そのような物理メモリを効果的に固定/ロックします。
ピーターコーデス

1
2M hugepagesは、半分空のままにしない場合(2Mの4kごとに書き込みを行うこと確実である場合など)に意味があります、ページングの欠如は大きな問題です。メモリが制限されたデスクトップでひどくひどく動作するように汎用ソフトウェアを設計することは、良い考えではありません。2Mのhugepagesを使用してディスク上のファイルをmmapすることさえできないと思いますが、2Mブロック内には何も触れられていない4kページがあるので、実行可能ファイルにとっては悪い考えです。これらはページキャッシュから削除され(プリフェッチされたと仮定)、RAMを解放します。
ピーターコーデス

1
現在のCPUにマルチレベルTLBがある場合、TLBミスに費やされる合計時間はおそらくそれほど悪くないでしょうか?firefoxのような大きなもののプロファイルを作成していません。TLBミス(特にページウォーク)、およびL1 Iキャッシュミスなどに費やした時間の読み取り可能な概要を確認したいと思います。ただperfそれを指し示すことができることを知っています... Firefoxに2Mのhugepagesを使用したかったとしても、その内部データの多くはそれよりも小さなチャンクで割り当てられていると思います。hugepageバッファ内の割り当ての外部フラグメンテーションを最小限に抑えるためのオーバーヘッドがあります。
ピーターコーデス

1
TLBミスは、多くのデータベースアプリケーションなど、高メモリのランダムアクセス操作ではコストがかかります。巨大なページは大きな違いを生みます-しかし、それでも、1GBではなく2MBページについて語っています。OSは、物理アドレス空間全体の直接マッピングを通じて、1GBページを使用する可能性が最も高いユーザーです。
GreenReaper
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.