O problema é que muitas das estruturas de dados do kernel, como os descritores de página (uma estrutura para cada página de 4 KB no sistema) precisam estar com pouca memória. Assim, à medida que a memória total da máquina aumenta, mais e mais memória baixa também é necessária e, eventualmente, a pouca memória torna-se um recurso muito escasso.
IIRC a regra prática usual é que o total de 16 GB é sobre o limite superior normal para um kernel de 32 bits. Não há muito que você possa fazer sobre isso.
Você pode tentar inicializar com menos memória (mem = parâmetro da linha de comando para o kernel). Mas a solução real é mudar para um kernel de 64 bits.