O problema quando todos os 3GB de RAM são usados é que o kernel tenta liberar RAM colocando certas páginas em swap. Se você tem um disco rígido, isso significa que, em vez de ler e gravar na RAM, alguns programas exigem que o kernel extraia as coisas da troca, o que é lento, especialmente com um disco rígido. Se sua partição swap for muito pequena, o kernel pode até mesmo começar a matar o processo como uma última tentativa de manter o sistema estável. Eu recomendo que você faça o seguinte:
Crie um arquivo de swap / partições maiores, o que você pode fazer com:
sudo fallocate -l 4G /swapfile; sudo mkswap /swapfile; sudo swapon /swapfile
Diminua seu swappiness, o que você pode fazer com
sudo sysctl vm.swappiness=10; sudo swapoff -a; sudo swapon -a
e para torná-lo permanente, edite o /etc/sysctl.conf:
sudo nano /etc/sysctl.conf
e adicione
vm.swappiness=10
para baixo.
A configuração mais baixa do swappiness irá dizer ao kernel para trocar menos, o que pode melhorar um pouco seu desempenho. O swap adicionado tornará seu sistema um pouco mais lento, ao invés de um crash completo, se você usar uma tonelada de RAM. Você também pode alterar seu sistema operacional para algo como Lubuntu, que é projetado para funcionar em computadores de baixo custo. Ou você poderia simplesmente adicionar mais RAM:)
Nota: Como mencionado no comentário, o comando apropriado para criar um arquivo de troca é algo como:
dd if=/dev/zero of=/swapfile bs=1048576 count=4096
como mkswap
não gosta de fallocate