32 ビット カーネルでは、利用可能な アドレス空間 は 4GB しかありません .このアドレス空間の一部は、システム内の (仮想または物理) ハードウェア (ビデオ カード、NIC など) によって独自の目的で使用される必要があります。この使用量は、特定のハードウェアが必要とするアドレス空間の大きさに応じて、通常 256MB から 1GB の間です。
そのアドレス空間はハードウェアによって使用されるため、通常、対応する RAM は 32 ビット システムからアクセスできません。
いくつかのオプションがあります:
<オール>
free
の出力 コマンドは、予約されたカーネル メモリと他のいくつかの小さなビットをカウントしません。この不一致は、64 ビット カーネルでも <2GB RAM でも見られます。
物理 RAM マップの重要な行は次のとおりです。
BIOS-e820: 0000000100000000 - 0000000140000000 (usable)
この行は、システムの物理 RAM の 1 GB (0x40000000 バイト、16 進数) が BIOS によって 4 GB の制限を超えてマップされていることを示しており、PAE を使用しない 32 ビット システムではアクセスできません。