O sistema detecta 4096MB de RAM (seus 8GB no total) corretamente e eles parecem funcionar bem. Tenho certeza de que seu problema ainda está relacionado ao hardware.
Nós vemos que os 8GB de RAM são detectados, mas apenas um pouco menos que 4GB são utilizáveis. Não há endereços de memória suficientes para os quais sua RAM possa ser mapeada. Toda a memória restante que não pode ser mapeada para um endereço não pode ser usada.
Sua máquina obviamente só pode mapear 4 GB porque qualquer um dos componentes responsáveis é limitado a endereços de 32 bits. A quantidade realmente utilizável de RAM é um pouco menor porque, e. a memória de vídeo da sua placa gráfica também precisa ser mapeada no mesmo intervalo de endereços.
Você está executando o Ubuntu de 64 bits, portanto nem o SO nem a CPU podem ser o problema. Tenho certeza de que o componente que nos incomoda aqui é o seu chipset (também conhecido como North Bridge) que suporta apenas uma largura de endereço de 32 bits e, portanto, limita o intervalo de endereços a apenas 4 GB.
Você pode verificar a largura do endereço do seu chipset usando este comando:
sudo lshw | grep -m1 width
Um resultado de width: 32 bits
me prova o que é certo e explica seus problemas.
Infelizmente não há solução de software, a única coisa que você pode fazer é substituir o seu chipset, o que significa obter uma nova placa-mãe completa.