Чи є якась перевага мати більше 16 Гб оперативної пам’яті на машині розробника Windows?


8

Припустимо, що машина (подвійний чотирьохядерний Xeon (2,26 ГГц) з 24 ГБ оперативної пам’яті) працює під управлінням Windows Server 2008 та Hyper-V. Скільки віртуальних машин я можу розраховувати працювати одночасно з хорошою продуктивністю?

Це надмірність? Чи дійсно ви можете мати занадто багато оперативної пам’яті?

Припустимо, 2 Гб на ВМ. Це приблизно 16 Гб для віртуальних машин, а 8 Гб залишилось для основної ОС та Hyper-V.

Це звучить правильно?


Редагувати:

Я намагався зробити так, щоб питання звучало не так, як хвастощі. Ніколи не був моїм наміром. Це важке запитання написати.


1
Просто курйози .. Що за "чорт" ти робиш? І як це насправді пов’язано з програмуванням ?!
Мікі Дінеску

дуд! 16 Гб оперативної пам’яті з 8 ВМ на робочій станції?
Байрон Вітлок

Це змушує мене почувати себе погано на своєму спритному ноутбуці 512 mb.
Зіфре

4
Звучить більше як поїздка Его, ніж питання про розробку ... все одно я заздрю ​​:)
Роберт Гулд,

1
Я знаю, що це звучить, але мені дуже цікаво. Це не подорож егої. Якби це було, я би дав повні характеристики. Я серйозно ставлюсь до цього питання. Його перша моя 64-бітова машина, і найбільше оперативної пам’яті, яку я коли-небудь мав, було 4 ГБ, тому я хочу знати, чи є зайвим понад 16 ГБ. Я пам’ятаю, що говорилося про 640k. :)

Відповіді:


7

"Я хочу запустити близько 8 ВМ одночасно за допомогою Hyper-V."

Чому на землі ти хотів би зробити таке?

Оскільки ви навряд чи зможете завантажувати ВСЕ 8 одночасно під час розробки (за винятком, можливо, для короткого тесту навантаження), ви, ймовірно, можете запустити всі 8ВМ у 2Gb і все-таки добре використати всі ці ядра.


Для багаторівневих тестових сценаріїв на серверах SQL Server, веб-сервері та клієнтах.

3
8VM є занадто складним для простого тестування SQL Server та Web Server.
S.Lott

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

Чи не доречно це в цьому випадку, справа не в цьому - є багато причин використовувати більше 16 Гб оперативної пам’яті на вікні Windows, як такий, що є хорошим загальним питанням розвитку.
Justicle

Я не бачу, чому 8 - це занадто багато. Якщо ви хочете протестувати кластер, протестувати розподілену систему, протестувати багатоярусну систему, чому б не 8?
нос

4

У мене є кілька товарних машин, на яких працює VMware, який ми використовуємо для тестування, постійної інтеграції тощо.

Ці машини мають один чотириядерний процесор і 16 ГБ оперативної пам’яті кожен - в нашій нинішній налаштування ми помітили, що:

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

Що стосується використання вашої установки для розробки - для мене ключовим питанням буде I / O - якщо ви працюєте з багатьма віртуальними машинами, ви побачите негативний вплив на час доступу до вашого диска, розробляючи це, уповільнюючи збирання і т. Д., Я б схильні перенести якомога більше віртуальних машин на окремий ящик і залишити свою машину розробника незавантаженою, щоб компіляція та інші завдання, пов’язані з розробниками, полегшувалися швидко.

Повідомлення в блозі про мої початкові налаштування з минулого року


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 жорсткими дисками 80 ГБ (RAID 0), двома жорсткими дисками SATA 1 TB (RAID 1), а 1 SB SATA - на один викид.

Я кинув на Windows Server 2008 x64 і розмістив пару візків на своїх SSD. Дуже, дуже швидкі відповіді. (Я маю певний досвід роботи з віртуальними машинами і знаю, що дискові введення / виведення з'їсть мене з розміщенням середовища для розробників у VM, особливо при додаванні SQL Server до тих же шпинделів.

Мені справді сподобалася ця настройка, але тоді приїхав майданчик для VM (Dell 1950 з 32 ГБ оперативної пам’яті та чудовим маленьким SAN). Я перекинув ці ВМ разом з деякими іншими і завантажив Windows 7 на свої SSD. (Я відчував, що можу пограти зі своєю системою, тому що зараз розміщую деякі віртуальні машини незалежно від моєї нової робочої станції.)

Найбільше, що я помітив, було, наскільки приємніше було розвиватися на машині, що не використовує ВМ. Не стільки швидкість, скільки візуальні ефекти, антиаліанти шрифтів тощо. SSD-диски дійсно зробили введення-виведення нефакторним, але вони змушують усе відчувати миттєво. (Також Windows 7 милий.)

Я знаю, що мені доведеться відновити його, коли з'явиться RTM, але в мене є VM, над якими я можу працювати, коли він відновлюється. Мені потрібно використовувати VPC замість Hyper-V для створення віртуальних машин, які мені потрібні для того, щоб ніхто більше не псувався, але я вважаю, що це розумний компроміс.

Коротше кажучи, я б повторив інших, які кажуть розмістити VM на окремому сервері, але хотілося б додати, що SSD-диски Intel дуже швидкі. окремі машини дають вам більшу гнучкість. Ваші диски звучать досить швидко для тестування, але для роботи з розробки миттєво б'ється швидко.


1

Оскільки кожен VM "володіє" власною пам'яттю в Hyper-V, кількість віртуальних машин, які ви можете активно приймати, обмежена наявною оперативною пам'яттю. Тож насправді не може бути занадто багато.

Звичайно, найбільша швидкість шийки пляшки на машині для розробників - це жорсткий диск. За допомогою додаткового оперативної пам'яті ви могли б встановити собі диск RAM, що може мати величезну перевагу від продуктивності.


Так, без сумніву, я не згадував накопичувачі, тому що хотів, щоб питання було зосереджене лише на пам'яті. Оперативна пам’ять DDR3 не є дешевою, і якщо мені не потрібно 24 ГБ і 16 ГБ, все буде добре, я скину характеристики. У цій машині буде 4 диска SAS 15k, тому я думаю, що це досить швидко.

1

У вас не виникне жодних проблем із вирішенням цієї оперативної пам’яті, можливо, вам вдасться отримати 20 ГБ, але в цей момент ви також можете отримати додаткові 4 Гб. Чому ви це робите на машині розробника? Якщо ви не людина-шоу, має бути центральний сервер, який обробляє подібні речі.


Це випробування. Я буду оцінювати цю конфігурацію для нашої команди з контролю якості, щоб зробити багаторівневе тестування. Після періоду eval ми, мабуть, отримаємо велику кількість з подібними специфікаціями. Плюс - це привід для мене, щоб спробувати і грати з VM, які я зазвичай не роблю.

1

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

Мої 2 копійки


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

Добре, що якщо ви запускаєте сервер на чиємусь апаратному забезпеченні, це все одно, що зараз віртуалізуватись
Роберт Гулд,

1

Роберт,

Якщо ви збираєтесь одночасно працювати з 8 VM (для розробників чи іншим способом), я настійно рекомендую вивчити варіанти віртуалізації сервера, запропоновані VMWare. В цілому технологія віртуалізації сервера набагато більш оптимізована та ефективна у використанні фізичних ресурсів, ніж аналог робочої станції.

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

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

Що стосується оперативної пам’яті, то обмеження VMWare інфраструктури 3 перевищують 24Gb, і це дозволяє забезпечити наявну пам’ять та навіть кожне ядро, як би ви не хотіли між вашими гостями - доки гості підтримують це.

Якщо вам цікаво дізнатися про інфраструктуру VMWare 3, я настійно рекомендую цю книгу, оскільки вона містить дискусії про архітектуру сервера VMWAre ESX та технічні міркування, які ви навряд чи зможете знайти деінде.

Я сподіваюся, що ви знайдете це корисним, хоча це не пряма відповідь на ваше запитання, і ви виправдаєте мій коментар (24 Гбіт для автомата Dev здається трохи незвичним .. хоча б на деякий час)


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.