32bit Linuxで4GBメモリを使い切る

2009/01/26 (月)

4GBのメモリを積んでも32bit OSだとmemory mapped I/Oのために4GB弱しかOSに認識されない。
それは当たり前なんで放置していたけど、PAEという仕掛けがあるのを思い出してカーネルを作り直してみた。

CONFIG_HIGHMEM4G=y の場合

% grep MemTotal /proc/meminfo
MemTotal: 3375668 kB

CONFIG_HIGHMEM64G=y の場合

% grep MemTotal /proc/meminfo
MemTotal: 4149780 kB

あっさり認識してくれた。無駄になっていた700MB強が使えるようになった。めでたしめでたし。

ちなみに、CONFIG_HIGHMEM64G=yだと自動的にCONFIG_X86_PAE=yがセットされるみたい(make xconfigにて)。

Linux4GB

Posted by k1