引用:
作者Axel_K
snipped....
如果
主版支援到8G
也加到8G
然後分配4G給ramdisk
然後4G給xp去用
可能嗎??
還是因為系統只能抓到4G
所以ramdisk還是只能從4G裡分配出來
(因為TASK MANEGER裡面一般會把實體記憶體顯示出來
RAMDISK所耗掉的也包含在內)
|
32bit OS kernel看不到的RAM,您要其如何拿來用呢

....BTW,以下貼一下32bit linux分別開HIGHMEM4G/HIGHMEM64G及X86-64 linux在同一台機器(4GB,其中256MB暫時分配給onboard VGA

)上看到記憶體的狀況....
1:HIGHMEM4G
/proc/mtrr
reg00: base=0x00000000 ( 0MB), size=2048MB: write-back, count=1
reg01: base=0x80000000 (2048MB), size=1024MB: write-back, count=1
reg02: base=0xc0000000 (3072MB), size= 256MB: write-back, count=1
reg03: base=0x100000000 (4096MB), size= 512MB: write-back, count=1
/proc/meminfo
MemTotal: 3357656 kB
MemFree: 3247604 kB
Buffers: 2580 kB
Cached: 88196 kB
SwapCached: 0 kB
Active: 18756 kB
Inactive: 74704 kB
HighTotal: 2490304 kB
HighFree: 2398160 kB
LowTotal: 867352 kB
LowFree: 849444 kB
2:HIGHMEM64G
/proc/mtrr
reg00: base=0x00000000 ( 0MB), size=2048MB: write-back, count=1
reg01: base=0x80000000 (2048MB), size=1024MB: write-back, count=1
reg02: base=0xc0000000 (3072MB), size= 256MB: write-back, count=1
reg03: base=0x100000000 (4096MB), size= 512MB: write-back, count=1
/proc/meminfo
MemTotal: 3876308 kB
MemFree: 3765348 kB
Buffers: 2564 kB
Cached: 88220 kB
SwapCached: 0 kB
Active: 18756 kB
Inactive: 74680 kB
HighTotal: 3014592 kB
HighFree: 2922108 kB
LowTotal: 861716 kB
LowFree: 843240 kB
3:X86-64
/proc/mtrr
reg00: base=0x00000000 ( 0MB), size=2048MB: write-back, count=1
reg01: base=0x80000000 (2048MB), size=1024MB: write-back, count=1
reg02: base=0xc0000000 (3072MB), size= 256MB: write-back, count=1
reg03: base=0x100000000 (4096MB), size= 512MB: write-back, count=1
/proc/meminfo
MemTotal: 3790632 kB
MemFree: 3630120 kB
Buffers: 4536 kB
Cached: 122820 kB
SwapCached: 0 kB
Active: 27696 kB
Inactive: 103520 kB
由1-3的MTRR可知其實CPU都有將3.25G-4G間的RAM mapping到4G以後,只是一般32bit OS(ex XP或鵝config成HIGHMEM4G時)無法存取4GB以後的部份,以至於比config成HIGHMEM64G時損失約512MB的RAM,而X86-64雖然還是要做mapping才不會浪費RAM,但不像32bit時須要做PAE(所以記憶體被分成low/high memory兩部份),對須要大量記憶體的AP應該有一定程度的優勢吧


....