A maneira padrão de criar novos processos no Linux é que a pegada de memória do processo pai seja copiada e que se torne o ambiente do processo filho até que execv
seja chamada.
De que pegada de memória estamos falando, a virtual (o que o processo solicitou) ou a residente (o que realmente está sendo usado)?
Motivação: tenho um dispositivo com espaço de troca limitado e um aplicativo com uma grande diferença entre a pegada de memória virtual e residente. O aplicativo não pode ser bifurcado devido à falta de memória e gostaria de ver se tentar reduzir o tamanho da área virtual ajudaria.
If enough is available the kernel will commit to the full virtual size of the parent for both processes after the fork.
Sim obrigado. Significando que a redução da área de cobertura virtual do processo em um ambiente com memória limitada (RAM e troca) poderia resolver o problema de não conseguir fazer uma bifurcação.