@voretaq7 linux n'a pas de concept de gestion de la mémoire détraqué, par défaut vm.overcommit_ratio est 0,
0 - Heuristic overcommit handling. Obvious overcommits of
address space are refused. Used for a typical system. It
ensures a seriously wild allocation fails while allowing
overcommit to reduce swap usage. root is allowed to
allocate slightly more memory in this mode. This is the
default.
Ainsi, si vous disposez de 4 Go de mémoire vive et que vous essayez d'allouer 4,2 Go de mémoire virtuelle avec malloc, votre allocation échouera.
Avec vm.overcommit_ratio = 1
1 - Always overcommit. Appropriate for some scientific
applications. Classic example is code using sparse arrays
and just relying on the virtual memory consisting almost
entirely of zero pages.
Avec vm.overcommit_ratio = 2
2 - Don't overcommit. The total address space commit
for the system is not permitted to exceed swap + a
configurable percentage (default is 50) of physical RAM.
Depending on the percentage you use, in most situations
this means a process will not be killed while accessing
pages but will receive errors on memory allocation as
appropriate.
Useful for applications that want to guarantee their
memory allocations will be available in the future
without having to initialize every page.
Donc, par défaut, Linux ne surcharge pas, si votre application utilise plus de mémoire que vous n'en avez, votre code est peut-être défectueux.