Рекомендации на выделении памяти VM General/Hyper-V

начиная с JDK 1.5, у Вас есть jps (Linux/usr/lib/jvm/java-6-sun/bin/jps). Можно использовать его во всей операционной системе (Linux, окна, solaris)

2
задан 23 January 2010 в 22:20
3 ответа

Как правило Вы хотите знать что под наихудшими условиями существует как раз достаточно физической RAM для всех стандартных функций для работы надежно от RAM. То, что то магическое число, варьируется от ОС до ОС и значительно различается в зависимости от использования, в которое Вы помещаете гостя ОС. Можно счастливо загрузить Windows 2003 Server с несколькими сотнями meg RAM, некоторый Linux компактные дистрибутивы с 30Meg или меньше и так далее, но если Вы хотите выполнить SQL Server в своем госте с базами данных мультигигабайта затем, Вы собираетесь хотеть удостовериться, что это на самом деле имеет реальную RAM, создавая резервную копию нескольких Концертов RAM, это думает, что имеет.

То, как Гипервизор обрабатывает RAM, варьируется много между поставщиками и продуктами. Hyper-V не поддерживает то, что назвало сверхфиксирование памяти, таким образом, Вы ограничены выделением RAM на основе того, что Вы имеете физически доступный. ESX VMware допускает чрезмерные обязательства, устанавливая правила для состязательного арбитража (доли) для управления тем, что происходит, когда VM's начинают действовать и общая сумма физической RAM недостаточна для встречи загрузки. В среде Hyper-V у Вас нет этого уровня управления, таким образом, необходимо присвоить достаточную RAM впереди.

VMware имеет несколько других приемов, чтобы помочь с памятью принять на себя непосильные обязательства; Прозрачная Страница, Совместно использующая и Запуск шаров-зондов Памяти.

Прозрачная Страница, Совместно использующая, является в основном хранением единственного экземпляра для RAM - Гипервизор контролирует блоки RAM, выделенной каждому VM и если это находит, что общие блоки существуют в нескольких VM's, который это только сохраняет единственной копией и указывает на весь VM's на тот - если какой-либо VM впоследствии пытается записать в тот блок, это отделяет копию так, чтобы плохие вещи не происходили. В гомогенной среде VM это может сохранить изрядное количество RAM, не влияя на производительность.

Запуск шаров-зондов памяти является механизмом, который позволяет Гипервизору "одалживать" RAM, выделенную одному VM и давать его более важному при помощи драйвера гостевой ОС в первом, который выделяет (большой) блок памяти в том Госте. После того как это выделяется, Гипервизор может безопасно перераспределить физическую RAM, поддерживающую память, которую драйвер воздушного шара выделил ему. Преимущество выполнения этого по сравнению с прямым подходом, где Гипервизор просто подкачивает память Гостя VM к диску для перераспределения RAM, состоит в том, что Гость, который теряет физическую RAM, знает, что память используется чем-то и существует значительно сниженный риск, что "одолженная" RAM будет выделена любым важным системным функциям в Госте.

Отредактированный для добавления: я никогда не пытался видеть то, что происходит с Hyper-V, когда Вы пытаетесь запустить VM's, который возьмет требования к памяти вне суммы физической доступной RAM, вся документация, я могу найти состояния, что VM's получает всю RAM, которую Вы настроили для них и затем Гипервизора и размещаете ОС, выделяются, что оставляют. Hyper-V не имеет никакого механизма для применения минимального резерва RAM к VM и затем выделил остаток от пула, хотя это действительно обеспечивает такой механизм для ресурсов ЦП. Снова ESX\ESXi VMware действительно предоставляет эту возможность.

Стоит помнить, что также необходимо запланировать физическую память, которая необходима и Гипервизору и хосту ОС (игнорируйте последнего при выполнении чистого металла сервер Hyper-V). Настраивающий совет производительности Microsoft для Hyper-V указывает, что в дополнение к XGig RAM Вы имеете в своем VM's, который Вы должны иметь:

  • 300 МБ для гипервизора
  • плюс 32 МБ для первого ГБ RAM, выделенной каждой виртуальной машине
  • плюс еще 8 МБ для каждого дополнительного ГБ RAM, выделенной каждой виртуальной машине
  • плюс 512 МБ для хостовой операционной системы, работающей на корневом разделе

Если у Вас не будет достаточного количества физической RAM для них затем, то производительность будет серьезно затронута, и возможно устойчивость также.

2
ответ дан 3 December 2019 в 11:15
  • 1
    Хорошее краткое определение Прозрачной Страницы, Совместно использующей и Запуска шаров-зондов Памяти (называет, я был незнаком с). " Пара, если сотня meg RAM" " Linux компактные дистрибутивы с 30Meg" больше, что я искал. При выделении минимума кажется, что должен быть путь к " pool" дополнительные ресурсы для различного VM' s для использования первый пришел - первого обслужат? Я нашел Настраивающие Инструкции по Производительности для Windows Server 2008 R2 ( microsoft.com/downloads/… ). Я буду видеть то, что я могу подобрать из этого. –  Brett Stottlemyer 23 January 2010 в 20:57
  • 2
    I' ve добавил еще некоторую деталь о minimum\pooling идее, не ответ для какой you' поиск ре, хотя, к сожалению. –  Helvick 23 January 2010 в 21:36
  • 3
    Спасибо за редактирование. Я только что считал, что сам, думаю, что это помогает ответу отправить это здесь. –  Brett Stottlemyer 23 January 2010 в 22:13

Это не универсальный вопрос, потому что Hyper-V не может сделать страницы памяти, совместно использующей, как VMware может, та технология может чрезвычайно изменить путь, которым выделяется память VM. Если бы Hyper-V поддерживает его, я предложил бы, чтобы Вы выделили свой VMs стартовая сумма и затем смотрели на фактическое использование со временем на VM, изменяя выделение, поскольку Вы обнаруживаете больше о его поведении.

0
ответ дан 3 December 2019 в 11:15
  • 1
    Хорошо, я понимаю потребность контролировать и выполнить итерации для оптимизации на основе производительности реального мира. Однако Вам действительно нужно начальное значение, которое является тем, что я искал. Спасибо за указание, что мой вопрос характерен для Гиперпротив. –  Brett Stottlemyer 23 January 2010 в 20:59

Hyper-V в Windows Server 2008 R2 поддерживает функцию динамической памяти (я использую SP1 - не уверен, что это было в RTM-версии). Я понимаю, что ваш вопрос довольно старый, поэтому, вероятно, он не ответил, когда вы его задавали.

Я начал выделять статическую память каждой гостевой виртуальной машине, но быстро исчерпал свой сервер. Динамическая память позволяет вам назначать начальный (возможно, небольшой) объем и максимальный объем для каждой виртуальной машины. Затем он будет выделять память по запросу, а также восстанавливать неиспользуемую память. Вы должны отредактировать настройки каждой виртуальной машины, чтобы настроить это - это недоступно при создании новой виртуальной машины. Я только что перенастроил кучу виртуальных машин для использования динамической памяти и уменьшил общее выделение памяти почти наполовину.

Hyper-V Manager screenshot showing assigned memory

Виртуальные машины, которые я настроил для динамической памяти, показывают текущую потребность в памяти и состояние. Выделенная виртуальная машина все еще работает с начальным выделением 1 ГБ. Сервер Exchange (второй сверху) - это большая жирная свинья, израсходовавшая свой начальный 1 ГБ и выделенная еще парой. Эта функция позволяет настраивать буфер (20% по умолчанию), поэтому Hyper-V предоставил Exchange требуемую сумму плюс некоторые дополнительные.

1
ответ дан 3 December 2019 в 11:15

Теги

Похожие вопросы