Godzil (./7108) :
Oui enfin si tu fork un process qui a 500Mo d'alloué c'est que tu as un problème de conception dans ton app... :/ ( ou que tu devrait utiliser des Thread.
Le problème, c'est que les APIs qui lancent un processus font un
fork+
exec en interne, donc si tu n'overcommittes pas, tu es obligé d'allouer ces 500 Mo même si le prochain syscall sera un
exec qui les libèrera immédiatement.
Godzil (./7113) :
Tu ne fait pas d'allocation mémoire en python, (en je ne compte pas le C++ dans les haut niveau parce que est la même chose que le C, si un new n'est pas systématiquement vérifié c'est un bug dans l'app.)
En C++,
new lance par défaut une exception
std::bad_alloc si l'allocation échoue. Il ne peut renvoyer
nullptr que si tu utilises
new(nothrow) ou si tu compiles avec un flag non-standard comme
-fno-exceptions.