La mia risposta breve è: probabilmente perché il progettista del BIOS era sciatto.
La lunga risposta è:
Anche se hai installato 4 GB di RAM, non puoi aspettarti di avere 4 GB di RAM utilizzabile con il chipset Intel 945GM. Questa è una limitazione del chipset. Puoi dirlo dalle specifiche del chipset:
http://www.intel.com/content/www/us/en/intelligent-systems/navy-pier/mobile-945-express-chipset-datasheet.html
Citare dalla sezione 9.2: " The M emory C ontroller H . Ubs fornisce un massimo DRAM spazio decodificazione di indirizzi di 4 GB La MCH non fa APIC remap o spazio di memoria PCI Express Ciò significa che la quantità di memoria fisica popolato nei tratti sistema. 4 GB, ci sarà memoria fisica che esiste ancora non è indirizzabile e quindi inutilizzabile dal sistema. "
Il BIOS deve riservare intervalli di indirizzi per diverse risorse, ad esempio BIOS stesso, spazio mappato di memoria PCI e PCI Express, grafica interna, spazio di memoria APIC e altre finestre di memoria per l'accesso I / O. Tutti questi intervalli di indirizzi devono trovarsi all'interno dello spazio degli indirizzi da 4 GB e pertanto occupare intervalli di indirizzi che non sono più disponibili nella memoria di sistema. Si potrebbe dire che queste risorse "rubano" spazio di memoria RAM fisica.
Detto questo, se hai installato 4 GB puoi aspettarti di avere a disposizione più di 3 GB di memoria di sistema .
La quantità di memoria fisica disponibile per il sistema dipende dallo sforzo compiuto dal progettista del BIOS per organizzare questi intervalli di indirizzi. Ad esempio, il BIOS potrebbe allocare la quantità minima necessaria per ciascuna risorsa. Oppure potrebbe consentire di disabilitare o limitare l'allocazione degli indirizzi per PCI Express a seconda dell'utilizzo dei dispositivi PCI Express da parte del sistema.
Il progettista del BIOS del tuo sistema probabilmente imposta il limite massimo di RAM utilizzabile su un massimo statico di 3 GB anche se hai installato 4 GB. Questo approccio fornisce una finestra di indirizzo statico di 1 GB al progettista del BIOS e in quanto tale semplifica l'attività dei progettisti del BIOS di allocare intervalli di indirizzi per le risorse in modo che non siano in conflitto con nessun altro intervallo di indirizzi.
uname -a
, l'output difree -m
e anche confermare che hai più di 3 GB di RAM attivi guardando il tuo dmidecode.