La façon standard de créer de nouveaux processus sous Linux est que l'empreinte mémoire du processus parent soit copiée et que cela devienne l'environnement du processus enfant jusqu'à ce qu'il execv
soit appelé.
De quelle empreinte mémoire parlons-nous, virtuelle (ce que le processus a demandé) ou résidente (qu'est-ce qui est réellement utilisé)?
Motivation: J'ai un appareil avec un espace d'échange limité et une application avec une grande différence entre l'empreinte mémoire virtuelle et résidente. L'application ne peut pas bifurquer en raison d'un manque de mémoire et aimerait voir si essayer de réduire la taille de l'empreinte virtuelle serait utile.
If enough is available the kernel will commit to the full virtual size of the parent for both processes after the fork.
Oui merci. Cela signifie que la réduction de l'empreinte virtuelle du processus dans un environnement avec une mémoire limitée (RAM et swap) pourrait résoudre le problème de ne pas pouvoir effectuer de fork.