Article de reference

surcharge de mémoire

La surallocation de mémoire est un concept informatique qui consiste à allouer aux machines virtuelles (ou processus) plus de mémoire que celle disponible sur la machine physiqu...

La surallocation de mémoire est un concept informatique qui consiste à allouer aux machines virtuelles (ou processus) plus de mémoire que celle disponible sur la machine physique qui les héberge ou s'exécute. Ceci est possible car les machines virtuelles (ou processus) n'utilisent pas nécessairement la totalité de la mémoire qui leur est allouée, créant ainsi une marge de sécurité. Si quatre machines virtuelles disposent chacune de 1 Go de mémoire sur une machine physique dotée de 4 Go, mais n'en utilisent que 500 Mo, il est possible de créer des machines virtuelles supplémentaires qui exploitent les 500 Mo libérés par chaque machine existante. Le swapping est alors utilisé pour gérer les pics d'utilisation de la mémoire. L'inconvénient de cette approche est que les fichiers de swap sont plus lents à lire que la mémoire vive, ce qui peut entraîner des baisses de performances. Un autre inconvénient est que, lorsque la mémoire vive vient à manquer, le système compte sur les applications pour ne pas utiliser la mémoire supplémentaire qui leur est allouée. Si un programme l'utilise malgré tout, il faut l'arrêter, ou arrêter un autre programme, afin de libérer de la mémoire et d'éviter le blocage du système. C'est le processus OOM Killer qui effectue cette tâche.

Bien que le surdimensionnement de la mémoire soit généralement abordé dans le contexte de la virtualisation , il s'agit en fait d'un concept généralisé ; Windows NT contenait des fonctionnalités de surdimensionnement, tout comme la plupart des systèmes d'exploitation généralisés modernes, y compris le noyau Linux .