Eu acho que o seu "problema" é com o VirtualBox.
De acordo com o Manual do VirtualBox
Memória base
Isso define a quantidade de RAM alocada e atribuída à VM quando está em execução. A quantidade especificada de memória será solicitada a partir do sistema operacional do host, portanto, ela deve estar disponível ou disponibilizada como memória livre no host ao tentar iniciar a VM e não estará disponível para o host enquanto a VM estiver em execução.
Encontrei comentários semelhantes nos fóruns do VirtualBox (embora não tenham sido tão úteis).
Veja: link
Então eu estou supondo que o módulo do kernel virtualbox aloca memória livre para o convidado, mas não é educado o suficiente para informar o host. Assim, quando você olha para a RAM livre (com ferramentas como free -m
) você parece ter memória suficiente MAS ... porque o módulo do kernel não informa o sistema operacional host, o host não pode gerenciar adequadamente a troca e seus aplicativos então travam doe a falta de memória (livre ou swap).
Eu sugeriria que você arquivasse um relatório de bug, mas, eu suponho que ele seria fechado, pois "não será corrigido"
Do encadeamento nos fóruns do VirtualBox vinculados ao comentário do Tim:
Para responder à sua pergunta sobre se o VBox pode ou não usar swap, não, nada além do sistema operacional pode fazer isso. Troca não é memória que é realmente utilizável.