Se a conta do usuário não estiver limitada ulimit
, ela consumirá a quantidade de memória necessária da RAM física livre (mesmo se você a limitar, ulimit
ainda poderá usar a memória virtual).
O problema ocorrerá se o seu programa tentar preencher a RAM com caracteres gerados. Em algum momento, você preencherá toda a RAM disponível e seu processo começará a trocar para a memória virtual (ou basicamente para um arquivo) que diminui a velocidade de todo o PC, já que o sistema operacional também precisa de um pouco de fôlego e a alternância prejudica o desempenho de toda a máquina.
A abordagem correta para essas tarefas é alocar um pequeno buffer na memória (por exemplo, de 4 a 8 Mb) e despejar periodicamente o buffer (no modo de acréscimo) em um arquivo. Essa seria a solução mais rápida no seu caso, sem colocar o sistema operacional em risco.