У меня есть сервер под управлением Windows Hyper-V. Сегодня я заметил, что одно из изображений потребляет большой объем памяти на сервере и блокирует другие изображения. В диспетчере Hyper-V отображается назначенная память 30235 МБ и потребность в памяти 45050 МБ. Но когда я вхожу в реальный образ и вызываю диспетчер задач, он показывает, что используется только около 9 ГБ памяти.
Если изображение не использует память, почему гипервизор не возвращает память хосту, чтобы она была доступна другим изображениям? Что я могу сделать, чтобы другие мои изображения не подавились?
Гостевая операционная система - Windows Server 2008 R2 Standard, Service Pack 1, BTW. На нем установлены службы Integration Services, а динамическая память настраивается в настройках гостевого сервера. Используемые 9 ГБ - это то, что показано в диспетчере задач на гостевом образе (который также показывает доступные 30+ ГБ).
Для поддержки динамической памяти в Windows Server 2008 Стандарт, у вас должен быть как минимум Service Pack 2, и вы должны установить исправление KB2230887. Исправление добавит поддержку динамической памяти для стандартной и веб-версии Windows Server 2008. Не уверен, что Windows будет делать в противном случае. Кроме того, в зависимости от рабочей нагрузки, выполняемой на виртуальной машине, может быть целесообразно установить ограничение динамической памяти, отличное от значения по умолчанию 65535 МБ. SQL Server, Exchange Server, IIS с большим количеством пулов приложений и рабочих процессов - все они будут активно потреблять много памяти.
Также убедитесь, что у вас установлена последняя версия интеграции Hyper-V, с помощью диспетчера Hyper-V для вставки диска служб интеграции (в меню «Действие»), как показано здесь, а затем в виртуальной машине, исследуя недавно присоединенный образ ISO на компакт-диске. диск и запускаем setup.exe.