O que vez no teu print é a forma que a Microsoft encontrou a partir do Service Pack 1 do Vista para evitar chamadas de suporte de pessoas que compravam PCs com 4GB e só viam ali 3.
O sistema passou a detectar e indicar a quantidade de RAM, mas simplesmente não a utiliza.
Os truques para usar 4GB em 32bits, não serão muito fiáveis, caso contrário o sistema viria com essas definições de origem.
Isto que fiz para os 4GB também serve para o 8GB ou mais até. E também funciona em linux.
No print screen pode-se ver que ele detecta os 4GB e utiliza-os (como se pode ver no task manager). Mais uma vez, isto também é válido no Linux.
Será que tanto num SO como no outro ele detecta e diz que gere e está a utilizar apesar de não estar?
É um pouco estranho ele indicar 4GB em uso (no task manager) e só estar a usar 3GB. No mínimo devia detectar 4GB e indicar 3GB no task manager.