2011年3月12日土曜日

32bit 版 Ubuntu で PAE を有効にして 3GB 以上のメモリを使う

32bit 版 Ubuntu で 3GB 以上のメモリを使用したい場合、kernel ビルド時に PAE オプションを有効にする必要があります。

1. CPU が PAE に対応しているか確認

# cat /proc/cpuinfo | grep pae

flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush
 dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc
 arch_perfmon pebs bts aperfmperf pni dtes64 monitor ds_cpl
 vmx smx est tm2 ssse3 cx16 xtpr pdcm lahf_lm tpr_shadow vnmi flexpriority

2. kernel のコンフィグで PAE を有効にする

Processor type and features  --->
  High Memory Support (64GB)  --->
    -*- PAE (Physical Address Extension) Support

3. kernel をビルドして、再起動。

# cat /proc/meminfo

(PAE 無効の場合)
MemTotal:        3354200 kB
MemFree:          117236 kB
Buffers:          115572 kB
Cached:          2385400 kB
SwapCached:            0 kB
Active:          1807556 kB
Inactive:        1251840 kB
…

(PAE 有効の場合)
MemTotal:        4120476 kB
MemFree:         3674100 kB
Buffers:           36324 kB
Cached:           170856 kB
SwapCached:            0 kB
Active:           240784 kB
Inactive:         164056 kB
…

■ メモ
自宅の PC 環境 ( DELL Inspiron 530 + Ubuntu 10.04 ) で試したとき、
PAE 対応カーネルで起動しても 3GB までしか認識されず。
調べてみると、BIOS が Memory Remapping に対応してないと認識されないとのこと。
早速 BIOS をアップデート (1.0.3 → 1.0.18) してみたら、認識されました。

● kernel, PAE, 3GB, memory, 認識, 4GB, 32bit, BIOS, remapping, リマッピング

0 件のコメント: