Linux поддерживает горячее добавление памяти при работе в качестве гостевой виртуальной машины, например , в VMware . (Иногда вам нужно вручную сообщить гостевой ОС .)
Есть ли безопасный способ сделать обратную операцию - уменьшить объем памяти, выделяемой виртуальной машине, и если да, нужно ли вручную информировать гостя Linux перед такой операцией? (Если это так, является ли эта процедура специфичной для инструментов VMware или она универсальна для какого-либо механизма виртуализации?)
источник
Не могу сказать точно в vmware, но при использовании kvm уменьшение памяти работающей виртуальной машины работает нормально. Конечно до предела, но программа скажет вам. Когда вы уменьшаете его, память в виртуальной машине будет постепенно уменьшаться, пока она не может быть уменьшена дальше. Если вы установите память ниже, чем она остановилась, вам потребуется перезагрузить виртуальную машину, чтобы она полностью опустилась.
Я недавно сделал это в системе, в которой работает kvm с примерно 20 виртуальными машинами, где кто-то посчитал целесообразным чрезмерное выделение памяти, в результате чего некоторые виртуальные машины запускались подкачкой (дох!) Чтобы это исправить, я уменьшил объем памяти примерно на 20-40% от 2/3 виртуальных машин, и большинство из них смогли полностью уменьшить его во время работы. Некоторым нужна перезагрузка, чтобы новые настройки памяти вступили в силу полностью.
Исходя из этого, я бы предположил, что виртуальная машина VMware может позволить такое поведение. Однако быстрый тест в vmware player говорит мне, что для вступления в силу потребуется перезагрузка (более интересное ПО vmware может вести себя лучше). В противном случае это безопасно сделать на работающей системе. Конечно, достаточно ли количества памяти для правильной работы - это другой вопрос.
источник