Есть ли преимущество в том, что на компьютере разработчика Windows более 16 ГБ ОЗУ?


8

Предполагается, что компьютер (Dual Quad Core Xeon (2,26 ГГц) с 24 ГБ ОЗУ) работает под управлением Windows Server 2008 и Hyper-V. Сколько виртуальных машин можно ожидать одновременно с хорошей производительностью?

Это перебор? У вас действительно может быть слишком много оперативной памяти?

Предполагая 2 ГБ на ВМ. Это около 16 ГБ для виртуальных машин с 8 ГБ осталось для основной ОС и Hyper-V.

Звучит ли это правильно?


Редактировать:

Я пытался сделать вопрос менее похожим на хвастовство. Никогда не был моим намерением. Это сложный вопрос, чтобы написать.


1
Просто курьезы .. Что за "dev" ты делаешь? И как это связано с программированием ?!
Мики Динеску

doode! 16 ГБ оперативной памяти с 8 виртуальными машинами на рабочей станции?
Байрон Уитлок

Это заставляет меня чувствовать себя плохо на моем слабом ноутбуке 512 МБ.
Zifre

4
Звучит скорее как путешествие по эго, чем вопрос разработчика ... в любом случае, я завидую :)
Роберт Гулд

1
Я знаю, это звучит так, но мне действительно любопытно. Это не путешествие эго. Если бы это было так, я бы дал полную спецификацию. Я серьезно отношусь к этому вопросу. Это моя первая 64-битная машина, и больше всего оперативной памяти у меня было 4 ГБ, поэтому я хочу знать, не является ли что-то более 16 ГБ излишним. Я помню, что было сказано около 640k. :)

Ответы:


7

«Я хочу запустить около 8 виртуальных машин одновременно, используя Hyper-V».

С какой стати вы хотели бы сделать такую ​​вещь?

Поскольку вы вряд ли сможете одновременно загружать ВСЕ 8 во время разработки (за исключением, возможно, краткого нагрузочного теста), вы, вероятно, сможете запустить все 8 В в 2 ГБ и при этом эффективно использовать все эти ядра.


Для многоуровневых тестовых сценариев с SQL Server, веб-сервером и клиентскими компьютерами.

3
8VM слишком сложны для простого тестирования SQL Server и веб-сервера.
S.Lott

8 - это много - если только 3 или 4 выполнялись одновременно, я бы предложил вместо этого написать код для работы с API VMWare - чтобы вы могли запускать / останавливать группу машин в зависимости от того, какое тестирование вы собираетесь выполнить.
Bittercoder

Вопрос о том, подходит ли он в данном случае, не имеет значения - есть множество причин использовать более 16 ГБ ОЗУ на коробке с Windows, так что это хороший вопрос для разработчиков.
Судья

Я не понимаю, почему 8 слишком много. Если вы хотите протестировать кластер, протестировать распределенную систему, протестировать многоуровневую систему, почему бы не 8?
Nos

4

У меня есть несколько обычных компьютеров с VMware, которые мы используем для тестирования, непрерывной интеграции и т. Д.

Эти машины имеют один четырехъядерный процессор и 16 ГБ ОЗУ каждый - в нашей текущей конфигурации мы заметили, что:

  • Сначала мы связаны с вводом / выводом, затем с процессором, и память не проблема.
  • Использование iSCSI и OpenFiler для размещения виртуальных жестких дисков на отдельном выделенном файловом сервере через двойной гигабитный Ethernet позволило снизить затраты и повысить производительность по сравнению с локальными дисками.
  • 16 ГБ памяти используется недостаточно на каждой машине, при этом большинство экземпляров выделяется только между 512 МБ и 2 ГБ ОЗУ, а ОС имеет 5 или 6 ГБ свободной памяти.
  • За стоимость одного двухъядерного компьютера Xeon с 24 ГБ ОЗУ вы можете приобрести 2 или более 4+ обычных компьютера, каждый с 16 ГБ ОЗУ и одним четырехъядерным процессором (отказ от FBDIMM может сэкономить много денег) - тем более, что избыточность не является такой проблемой для машины тестирования / разработки.
  • При тестировании сложных приложений / сред часто бывает полезно, чтобы разные виртуальные машины находились в разных физических средах, просто чтобы обеспечить реалистичный уровень задержки в сети между различными сервисами.

Что касается использования вашей установки для разработки - для меня ключевым вопросом будет ввод / вывод - если вы используете столько виртуальных машин, вы заметите отрицательное влияние на время доступа к диску при разработке, что замедлит компиляцию и т. Д. будьте склонны перенести как можно больше виртуальных машин в отдельную коробку и оставить свою машину разработчика без нагрузки, чтобы компиляция и другие задачи, связанные с разработчиками, выполнялись быстрее.

Сообщение в блоге о моей первоначальной настройке с прошлого года.


3

Это зависит от того, какую версию Windows вы используете. Вот некоторая информация: http://msdn.microsoft.com/en-us/library/aa366778.aspx

64-битная Windows Vista Business и выше, а также 64-битная Windows 2008 Server Standard и выше должны иметь возможность обращаться к ОЗУ.


Я планировал использовать Windows Server 2008 64

3

В 64-битной Windows решение этой проблемы не должно вызывать проблем. Я бы подумал, что вашей самой большой проблемой будет ввод-вывод, когда одновременно работает много виртуальных машин. Я бы посоветовал инвестировать в диски SAS с самыми быстрыми доступными RPM для эффективной поддержки такого количества виртуальных машин.


Согласовано. Пойдите для связки дисков SCSI 15k, или флэш-накопителей, в зависимости от ваших потребностей.
Джои Роберт

3

У меня был похожий вопрос, и вместо того, чтобы обсуждать его теоретически, я решил купить его с мыслью, что при необходимости заменю / обновлю его. Я получил Core i7 920 с 12 ГБ ОЗУ, 2 твердотельных накопителя Intel 80 ГБ (RAID 0), два жестких диска SATA 1 ТБ (RAID 1) и одноразовый SATA 1 ТБ.

Я бросил на Windows Server 2008 x64 и разместил пару виртуальных машин на моих SSD. Очень, очень быстрые ответы. (У меня есть некоторый опыт работы с виртуальными машинами, и я знаю, что дисковый ввод-вывод мог бы израсходовать меня на хостинг среды разработки на виртуальной машине, особенно при добавлении SQL Server к тем же шпинделям.

Я действительно наслаждался этой установкой, но затем прибыла игровая площадка VM (Dell 1950 с 32 ГБ ОЗУ и изящным небольшим SAN). Я добавил эти виртуальные машины вместе с некоторыми другими и загрузил Windows 7 на свои твердотельные накопители. (Я чувствовал, что могу поиграть с моей системой, потому что теперь я размещал несколько виртуальных машин независимо от моей новой рабочей станции.)

Самое большое, что я заметил, было то, насколько приятнее было развиваться на машине без виртуальной машины. Не столько скорость, сколько визуальные эффекты, сглаживание шрифтов и т. Д. SSD действительно сделали ввод / вывод не фактор, но они заставляют все чувствовать себя мгновенно. (Кроме того, Windows 7 сладка.)

Я знаю, что придется перестроить его, когда выйдет RTM, но у меня есть виртуальные машины, в которых я могу работать, пока он перестраивается. Мне нужно будет использовать VPC вместо Hyper-V для создания виртуальных машин, которые мне нужны, чтобы никто не запутался, но я считаю, что это разумный компромисс.

Короче говоря, я повторю другие, которые говорят о размещении виртуальных машин на отдельном сервере, но я хотел бы добавить, что твердотельные накопители Intel очень быстрые. отдельные машины дают вам больше гибкости. Ваши диски звучат достаточно быстро для тестирования, но для разработки, мгновенные удары быстро.


1

Поскольку каждая виртуальная машина «владеет» своей собственной памятью в Hyper-V, количество виртуальных машин, которые вы можете активно размещать, ограничено доступной оперативной памятью. Так что не может иметь слишком много.

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


Да, без сомнения, я не упомянул диски, потому что хотел, чтобы вопрос был сосредоточен только на памяти. Память DDR3 недешева, и если мне не понадобятся 24 ГБ и 16 ГБ, все будет в порядке, я опущу спецификации. Эта машина будет иметь 4 диска SAS по 15 тыс., Поэтому я думаю, что они достаточно быстрые.

1

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


Это тест. Я собираюсь оценить этот конфиг для нашей команды QA для проведения многоуровневого тестирования. По истечении этого периода мы, вероятно, получим стойку с аналогичными характеристиками. Плюс для меня это оправдание, чтобы попробовать и поиграть с виртуальными машинами, что я обычно не делаю.

1

Если ваш сценарий касается серверов + клиентов, настройка на несколько компьютеров будет лучше для моделирования и дешевле. Виртуальные машины на самом деле не совпадают с собственными ОС, потоки и профилирование нарушены, так что вы будете совсем не в своей цели, и, что еще хуже, не сможете профилировать соответственно.

Мои 2 цента


1
Задержка сети также может быть фактором - хотя я думаю, что тестирование вашего сервера на виртуальной
машине

Хорошо, если вы запускаете свой сервер на чьем-то оборудовании, это все равно что быть виртуализированным в любом случае в наши дни
Роберт Гулд

1

Роберт,

Если вы планируете одновременно запускать 8 виртуальных машин (для разработчиков или других), я настоятельно рекомендую изучить варианты виртуализации серверов, предлагаемые VMWare. В целом технология виртуализации серверов гораздо более оптимизирована и эффективна в использовании физических ресурсов, чем ее аналог на рабочей станции.

У меня была возможность работать с VMWare Infrastructure 3 (это общая номенклатура для семейства продуктов / технологий для виртуализации серверов VMWare), и я должен сказать, что впечатлен. Серверная версия чрезвычайно эффективна по сравнению с версией для рабочей станции и предлагает невероятную гибкость.

У меня нет опыта работы с Hyper-V, но многие люди, которые использовали его, высоко оценивают его. Однако я считаю VMWare превосходной альтернативой, поскольку она позволяет вам создавать виртуальные машины, работающие под управлением разных операционных систем, на одном физическом хосте, что Hyper-V не может сделать (AFAIK).

Что касается оперативной памяти, ограничения инфраструктуры 3 VMWare выходят далеко за пределы 24 ГБ, и это позволяет вам выделять доступную память и даже каждое ядро, как вы пожелаете между гостями - до тех пор, пока гости поддерживают его.

Если вы заинтересованы в изучении VMWare Infrastructure 3, я настоятельно рекомендую эту книгу, так как она содержит обсуждения архитектуры сервера VMWAre ESX и технические соображения, которые вы вряд ли найдете где-либо еще.

Я надеюсь, что вы найдете это полезным, хотя это не прямой ответ на ваш вопрос, и вы извините мой комментарий (24Gb для машины разработчика кажется немного необычным .. по крайней мере, на некоторое время)


1
Спасибо за ссылку. Поскольку я буду иметь дело только с ОС Microsoft, я собираюсь опробовать Hyper-V, но буду помнить об этом, если мне понадобится изучить что-то еще. Я согласен, что 24 ГБ кажутся экстремальными, но стоит всего 500 - 750 долларов (я точно забыл) больше, чем 12 ГБ. Через пару лет большинство комментариев по этому вопросу покажется странным! ;-)

Я согласен с оперативной памятью. Однако, что касается Hyper-V, я думаю, что на данный момент он работает только с Win 2K8, и в нашем сценарии у нас было несколько инструментов, которые были совместимы только с 2K3. Может быть, вы можете поделиться своими выводами позже!
Мики Динеску

0

Мы используем Hyper V и размещаем экземпляры обоих серверов 2003 и XP на одной машине.

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.