Il modo standard di creare nuovi processi in Linux è che l'impronta di memoria del processo genitore viene copiata e che diventa l'ambiente del processo figlio fino a quando non execv
viene chiamato.
Di quale footprint di memoria stiamo parlando, quello virtuale (ciò che il processo ha richiesto) o quello residente (cosa viene effettivamente utilizzato)?
Motivazione: ho un dispositivo con spazio di scambio limitato e un'applicazione con una grande differenza tra footprint di memoria virtuale e residente. L'applicazione non può essere spostata a causa della mancanza di memoria e vorrebbe vedere se provare a ridurre le dimensioni dell'impronta virtuale sarebbe di aiuto.
If enough is available the kernel will commit to the full virtual size of the parent for both processes after the fork.
Si Grazie. Ciò significa che ridurre l'impronta virtuale del processo in un ambiente con memoria limitata (RAM e swap) potrebbe risolvere il problema di non essere in grado di fork.