Вопрос: Выделение нестандартных объемов памяти для виртуальных машин [дубликат]


На этот вопрос уже есть ответ:

При настройке виртуальных машин на различные хост-системы, которые я использовал, будь то Hyper-V, VMware или KVM, я всегда выделял ОЗУ в количествах, соответствующих физическим конфигурациям памяти. чтобы добавить 1 ГБ ОЗУ, я бы добавил 1024 МБ, для 6 ГБ ОЗУ я бы добавил 6 x 1024 = 6144 МБ.

Я понял, что я никогда не думал о том, почему я это делаю, это было просто «Дорога» на предыдущем рабочем месте, о котором я никогда не спрашивал.

Итак, мой вопрос заключается в том, что это означает, что виртуальные операционные системы могут аккуратно обойти выделенное ОЗУ до ближайшего ГБ, есть ли недостатки в распределении ОЗУ в количествах, которые не являются степенями двух или их кратностью? например будет ли недостаток в добавлении 500 МБ ОЗУ, 750 МБ ОЗУ или 1001 МБ ОЗУ?

В качестве альтернативы, есть ли какие-либо преимущества, которые могли бы сделать это рекомендуемым способом?

Я оставил этот вопрос открытым до того, как хост-ОС, поскольку мне было бы интересно узнать, существуют ли разные соображения для разных хостов.


13
2018-04-21 09:25


Источник




Ответы:


Нет недостатка. Вы можете добавить то, что вам нужно, с точки зрения ОЗУ. То же самое для процессоров. Если вам нужны 3 vCPU или 4 или 5, вы можете назначить их по мере необходимости.

Некоторые администраторы любят видеть кратные 512 и 1024, но это действительно не имеет значения.


11
2018-04-21 12:16



Когда вы так долго вы начинаете отвечать на одно и то же : P (Да, технически вопрос немного другой, но ваш ответ также здесь) - Reaces
Чтобы добавить немного к этому, причина, по которой я предпочитаю «круглые» номера для моей виртуальной машины, заключается в том, что я могу легко сказать, сколько оперативной памяти доступно в системе. Если вы используете VM в облаке, это не имеет значения. Но когда у меня есть физический VM-сервер с 32-гигабайтной ОЗУ, я знаю, что это означает, что у меня могут быть виртуальные машины размером 32x1GB, 16x2GB VM и т. Д. Сколько VM имеет странное число, например 322 МБ ОЗУ? Мне нужно было бы сделать математику. Таким образом, ewwhite прав, это не важно для самой VM, но это важно для администратора. - Jake
@Jake С воздушным шаром и обменом памяти, как это, я не уверен, что это так просто;) - Reaces
@ Идет очень верно - и, как я уже упоминал, облако - я больше отношусь к VM в AWS, чем к моему физическому серверу, и, насколько мне известно, Amazon имеет бесконечную память. И если они когда-нибудь кончились, они могли просто заказать еще ... от Амазонки. 1022.5MB это! Но это дает немного информации о том, почему все было сделано таким образом довольно долгое время. - Jake


Нет, нет никаких преимуществ / недостатков. Сисадмины предпочитают круглый размер.

Я могу создать очень маленькую систему Linux и дать ей 403 МБ оперативной памяти, система будет выделять то, что нужно для ее работы. Но вы не найдете модулей барана 403 МБ, потому что все работает с полномочиями 2. Так просто округлите до того, что лучше всего подходит для вашей сборки.

Я использовал для виртуализации ОС Windows и Linux в своем единственном esxi и дал Ubuntu 768MB и Windows 3328MB, и это было хорошо для обоих, всего 4 ГБ. Если бы у меня было меньше бара, я бы просто потерял его.


3
2018-04-21 12:05





существуют ли какие-либо недостатки в распределении ОЗУ в количествах, которые не являются степенями двух или их кратностью?

Прежде всего. Помните, что каждое целое число кратно мощности двух. Таким образом, реальный вопрос, который нужно задать, - это ограничить себя определенными множителями или определенными полномочиями двух.

Физические машины обычно имеют память, которая представляет собой небольшой множитель (1, 3 или 5) мощности в два раза. Но причины этого не относятся к виртуальным машинам.

Однако размеры страниц - это проблема, которая относится к виртуальным машинам. Существуют архитектуры, которые работают с двумя возможными размерами страниц. Общие 32-разрядные архитектуры поддерживают страницы ровно 4 КБ и 4 МБ. Общие 64-битные архитектуры поддерживают страницы ровно 4 КБ и 2 МБ.

Если вы сохраняете память, выделенную для виртуальной машины, всегда кратным 4 МБ, для базового кода будет более практичным использование больших страниц для оптимизации производительности. По этим причинам я рекомендую обратить внимание на кратные 4 МБ.

Я ожидаю, что правильно разработанное программное обеспечение для округлых размеров до кратного 4 МБ для вас, если это более выгодно. Но если вы выберете несколько бит на 4 МБ для начала, вы будете меньше полагаться на программное обеспечение, чтобы получить эти угловые случаи правильно.

Кроме этого, я говорю, распределяю ОЗУ виртуальным машинам в количествах, которые настолько точны, насколько вы можете предсказать их требования. Если вы прогнозируете потребность виртуальной машины от 500 МБ до 750 МБ для достижения оптимальной производительности, выделите 752 МБ. Я не вижу причин объединять до 768 МБ или 1024 МБ.

распределение памяти приятеля метод, используемый некоторыми системами, предназначен для работы с полномочиями двух. Однако метод может с небольшими усилиями быть принятым для работы с размерами, которые не являются силой двух. Даже на физических машинах с памятью размером с несколько из двух, все же вероятность того, что часть физической памяти недоступна приложению-распределителю. Таким образом, можно ожидать, что каждая ОС, использующая этот метод, обеспечит работу других размеров памяти.


0
2018-04-24 14:28