Linux prend en charge l'ajout de mémoire à chaud lors de l'exécution en tant qu'invité VM, dans VMware par exemple. (Parfois, vous devez informer manuellement le système d'exploitation invité .)
Existe-t-il un moyen sûr d'effectuer l'opération inverse - en réduisant la quantité de mémoire allouée à une machine virtuelle, et si oui, devez-vous informer manuellement l'invité Linux avant une telle opération? (Dans l'affirmative, la procédure est-elle spécifique aux outils VMware ou est-elle générique pour tout type de mécanisme de virtualisation?)
la source
Je ne peux pas dire avec certitude dans vmware, mais lorsque vous utilisez kvm, la diminution de la mémoire d'une machine virtuelle en cours d'exécution fonctionne correctement. Bien sûr, jusqu'à une limite, mais le logiciel vous le dira. Lorsque vous la diminuez, la mémoire de la machine virtuelle sera progressivement abaissée, jusqu'à ce qu'elle ne puisse plus être abaissée. Si vous définissez la mémoire à un niveau inférieur à celui où elle s'est arrêtée, vous devrez redémarrer la machine virtuelle pour qu'elle soit complètement abaissée.
J'ai récemment fait cela sur un système exécutant kvm avec environ 20 machines virtuelles, où quelqu'un a pensé qu'il était sage de surcharger la mémoire, provoquant l'exécution de certaines machines virtuelles en swap (doh!). Pour y remédier, j'ai réduit la mémoire d'environ 20 à 40% des 2/3 des machines virtuelles et la plupart ont pu la baisser complètement en cours d'exécution. Quelques-uns ont eu besoin d'un redémarrage pour que le nouveau paramètre de mémoire prenne pleinement effet.
En partant de cela, je suppose qu'une machine virtuelle vmware pourrait également permettre ce comportement. Cependant, un test rapide dans le lecteur vmware me dit qu'il aura besoin d'un redémarrage pour prendre effet (le logiciel vmware plus sophistiqué peut se comporter mieux). Sinon, il est sûr de le faire sur un système en cours d'exécution. Bien sûr, si la quantité de mémoire qui lui reste est suffisante pour l'exécuter correctement, c'est une autre question.
la source