64bit OS 與 4gb RAM

更新時間:14-8-11

現時的 RAM 相當平價, 平均來說, 1mb 不用 hk$1

由於我想在系統上行多幾個 Virtual Machine(WinXP),

所以這幾天就為系統加 RAM, 加到 4Gb

 

 

 

加 RAM 之後惡夢來了 ...........

 

開機後, 在 Debian 上行 free -m


             total       used       free     shared    buffers     cached
Mem:          3291       1088       2202          0          0        393
-/+ buffers/cache:        694       2596
Swap:         1906          0       1906

只有 3291MB ?!

之後就用 Window 那套 32bit System 只有 3.2gb ram 的概念代入 Linux .....

接著就走去升級上 64bit Linux ...........

升級後, 系統依然只有 3.2gb, 殘念............

 

那我就 dmesg | grep memory

[    0.000000] initial memory mapped : 0 - 01a00000
[    0.000000] init_memory_mapping: 0000000000000000-00000000377fe000
[    0.000000] PM: Registered nosave memory: 000000000009f000 - 00000000000a0000
[    0.000000] PM: Registered nosave memory: 00000000000a0000 - 00000000000e4000
[    0.000000] PM: Registered nosave memory: 00000000000e4000 - 0000000000100000
[    0.000000] Memory: 3362508k/3406528k available (2573k kernel code, 42340k reserved, 1377k data, 396k init, 2497224k highmem)

?! mapping 少了 ?!

 

最後明白 BIOS 做了 IO mapping 的動作, 所以系統是用看唔到 4gb ram 的 -_______-

 

 

 

如果你的系統能用到 4gb 以上的 ram, 那是因為 bios 有 memory_remapping 的功能

 

 

 

P.S.

日後同別人吹水, 如果別人說"因為你的OS 係 32bit, 所以認唔到 3.2gb RAM"

那時在心裡暗笑好了 ^, ^

* physical address space limit

* os memory address limit

 

 

Creative Commons license icon Creative Commons license icon