首先要知道,所谓的4GB内存条在系统里通常只会显示为3.9GB左右,这是因为硬件厂商和系统的计算方式不同。厂商按1GB等于1000MB算,而系统按1GB等于1024MB算,这种换算差异会导致显示数值变小,但这并不是导致可用内存仅900MB的主要原因。
为什么32位系统安装4G内存条后可用内存只有900MB?
相比之下,如果是2GB的物理内存条,因为总寻址空间有4GB,扣除硬件占用的几百MB后,剩余空间依然足够覆盖2GB内存条的需求,所以2GB内存条通常能被完全识别和使用。而4G内存条因寻址空间被硬件占用过多,导致大量内存无法被系统调用。
系统在分配这4GB寻址空间时是有优先级的。BIOS内存、CPU缓存、显卡显存等硬件的优先级高于物理内存条。系统会先划走几百MB给这些必要的硬件组件,剩下的空间才能分配给物理内存条。
以实际情况为例,如果显卡占用了500MB左右的显存空间,那么留给物理内存条的寻址空间就只剩3.5GB左右。如果是4G内存条,由于只有部分获得了寻址空间,用户能看到的可用内存自然就会大幅减少,远低于4GB。
根本原因在于32位操作系统的寻址限制。32位系统的总寻址空间固定为2的32次方,也就是4GB。这个4GB的空间是需要被所有硬件共享的,包括物理内存条、BIOS、CPU缓存、显卡显存以及其他硬件设备,而不是全部留给内存条。