Có bất kỳ lợi thế nào khi có hơn 16 GB RAM trên máy phát triển Windows không?


8

Giả sử một máy (Dual Quad Core Xeon (2.26 GHz) với RAM 24 GB) chạy Windows Server 2008 và Hyper-V. Tôi có thể chạy bao nhiêu máy ảo cùng lúc với hiệu năng tốt?

Đây có phải là quá mức cần thiết? Bạn thực sự có thể có quá nhiều RAM?

Giả sử 2 GB cho mỗi VM. Đó là khoảng 16 GB cho máy ảo với 8 GB còn lại cho HĐH chính và Hyper-V.

Nghe có vẻ đúng không?


Chỉnh sửa:

Tôi đã cố gắng để làm cho câu hỏi nghe giống như khoe khoang. Chưa bao giờ là ý định của tôi. Đó là một câu hỏi khó để viết.


1
Chỉ tò mò .. Bạn đang làm loại "quỷ" nào? Và điều này thực sự liên quan đến lập trình như thế nào?!
Miky Dinescu

doode! 16gb ram với 8 VM trên máy trạm?
Byron Whitlock

Điều này làm cho tôi cảm thấy tồi tệ trên máy tính xách tay wimpy 512 mb của tôi.
Zifre

4
Nghe giống như một chuyến đi Ego hơn là một câu hỏi dev ... dù sao tôi cũng ghen tị :)
Robert Gould

1
Tôi biết nó nghe như vậy nhưng tôi thực sự tò mò. Đây không phải là một chuyến đi bản ngã. Nếu đó là tôi sẽ cung cấp đầy đủ thông số kỹ thuật. Tôi nghiêm túc về câu hỏi này. Đây là máy 64 bit đầu tiên của tôi và ram nhiều nhất tôi từng có là 4GB, vì vậy tôi muốn biết liệu có gì trên 16GB là quá mức không. Tôi nhớ những gì đã nói abut 640k. :)

Câu trả lời:


7

"Tôi muốn chạy khoảng 8 VM cùng một lúc bằng Hyper-V."

Tại sao trên trái đất bạn muốn làm một điều như vậy?

Vì bạn không thể tải TẤT CẢ 8 đồng thời trong quá trình phát triển (ngoại trừ, có lẽ, đối với thử nghiệm tải ngắn), bạn có thể có thể chạy tất cả 8VM trong 2Gb và vẫn sử dụng tốt tất cả các lõi đó.


Đối với các kịch bản kiểm tra nhiều tầng với SQL Server, Web Server và máy khách.

3
8VM là quá phức tạp đối với thử nghiệm SQL Server, Web Server đơn giản.
S.Lott

8 là rất nhiều - nếu chỉ có 3 hoặc 4 người được thực hiện bất cứ lúc nào tôi sẽ đề nghị thay vì viết mã để làm việc với API của VMWare - vì vậy bạn có thể bắt đầu / dừng một nhóm máy tùy thuộc vào việc thử nghiệm nào bạn sẽ thực hiện.
Bittercoder

Cho dù nó phù hợp trong trường hợp này không phải là vấn đề - có rất nhiều lý do để sử dụng hơn 16GB RAM trên hộp Windows, vì vậy đây là một câu hỏi phát triển chung tốt.
Justicle

Tôi không thấy lý do tại sao 8 là quá nhiều. Nếu bạn muốn kiểm tra một cụm, kiểm tra một hệ thống phân tán, kiểm tra một hệ thống nhiều tầng, tại sao không phải là 8?
nos

4

Tôi có một vài máy móc chạy VMware, chúng tôi sử dụng để thử nghiệm, tích hợp liên tục, v.v.

Các máy này có bộ xử lý lõi tứ đơn và 16 GB RAM mỗi bộ - trong thiết lập hiện tại của chúng tôi, chúng tôi đã nhận thấy rằng:

  • Chúng tôi bị ràng buộc I / O trước, CPU bị ràng buộc thứ hai và bộ nhớ không phải là vấn đề.
  • Sử dụng iSCSI và OpenFiler để lưu trữ các ổ đĩa cứng ảo trên một máy chủ tệp chuyên dụng riêng biệt qua Ethernet gigabit kép giúp giảm chi phí và cải thiện hiệu suất so với các đĩa cục bộ.
  • Bộ nhớ 16 GB không được sử dụng đúng mức trên mỗi máy, hầu hết các trường hợp chỉ được phân bổ từ 512 MB đến 2 GB RAM và HĐH có 5 hoặc 6 GB miễn phí.
  • Đối với chi phí của một máy Xeon lõi tứ kép với 24 GB RAM, bạn có thể mua 2 máy trở lên có thể trở lên, mỗi máy có 16 GB RAM và CPU lõi tứ đơn (tránh FBDIMM có thể tiết kiệm rất nhiều tiền) - đặc biệt là sự dư thừa không phải là vấn đề như vậy với máy kiểm tra / phát triển.
  • Khi kiểm tra các ứng dụng / môi trường phức tạp, thường có các máy ảo khác nhau ngồi trên các môi trường vật lý khác nhau, để bạn có được độ trễ mạng thực tế giữa các dịch vụ khác nhau.

Đối với việc sử dụng giàn khoan của bạn để phát triển - mối quan tâm chính đối với tôi sẽ là I / O - nếu bạn đang chạy nhiều máy ảo đó, bạn sẽ thấy tác động tiêu cực đến thời gian truy cập đĩa của mình trong khi phát triển sẽ làm chậm quá trình biên dịch, v.v. có xu hướng chuyển càng nhiều máy ảo càng tốt sang một hộp riêng và để máy phát triển của bạn không bị gánh nặng để quá trình biên dịch và các tác vụ liên quan đến nhà phát triển khác được làm sáng nhanh.

Blog bài viết về thiết lập ban đầu của tôi từ năm ngoái.



3

Với Windows 64 bit, việc giải quyết nhiều bộ nhớ không phải là vấn đề. Tôi nghĩ rằng mối quan tâm lớn nhất của bạn sẽ là I / O, với nhiều máy ảo chạy cùng một lúc. Tôi khuyên bạn nên đầu tư vào các ổ đĩa SAS với tốc độ RPM nhanh nhất có sẵn để hỗ trợ hiệu quả cho nhiều máy ảo đó.


Đã đồng ý. Sử dụng nhiều ổ đĩa SCSI 15k hoặc ổ đĩa flash tùy theo nhu cầu của bạn.
Joey Robert

3

Tôi đã có một câu hỏi tương tự và thay vì tranh luận về mặt lý thuyết, tôi quyết định mua với ý tưởng rằng tôi sẽ thay thế / nâng cấp nó nếu cần thiết. Tôi sử dụng Core i7 920 với RAM 12 GB, 2 ổ SSD Intel 80 GB (RAID 0), hai ổ cứng SATA 1 TB (RAID 1) và loại bỏ 1 TB SATA.

Tôi đã tung Windows Server 2008 x64 và lưu trữ một vài máy ảo trên ổ SSD của mình. Rất, rất nhanh phản ứng. (Tôi có một số kinh nghiệm với máy ảo và biết rằng I / O đĩa sẽ ăn tôi khi lưu trữ môi trường nhà phát triển trong máy ảo, đặc biệt là khi thêm SQL Server vào cùng một trục chính.

Tôi thực sự rất thích thiết lập này, nhưng sau đó một sân chơi VM đã xuất hiện (một chiếc Dell 1950 với 32 GB RAM và một SAN nhỏ tiện lợi). Tôi đã ném những VM đó cho nó cùng với một số máy khác và tải Windows 7 trên ổ SSD của tôi. (Tôi cảm thấy mình có thể chơi xung quanh với hệ thống của mình vì hiện tại tôi đang lưu trữ một số máy ảo độc lập với máy trạm mới của mình.)

Điều lớn nhất tôi nhận thấy là nó phát triển tốt hơn như thế nào trên một máy không VM. Không phải tốc độ quá cao mà là hiệu ứng hình ảnh, khử răng cưa của phông chữ, v.v ... Các ổ SSD thực sự làm cho I / O trở thành một yếu tố không quan trọng, nhưng chúng làm mọi thứ cảm thấy tức thì. (Ngoài ra, Windows 7 rất ngọt ngào.)

Tôi biết tôi sẽ phải xây dựng lại nó khi RTM ra mắt, nhưng tôi có máy ảo mà tôi có thể làm việc trong khi nó đang được xây dựng lại. Tôi sẽ cần sử dụng VPC thay vì Hyper-V để xây dựng máy ảo mà tôi cần đảm bảo rằng không có ai khác mắc phải, nhưng tôi nghĩ đây là một sự đánh đổi hợp lý.

Nói tóm lại, tôi sẽ nhắc lại những người khác nói rằng lưu trữ VM trên một máy chủ riêng biệt, nhưng tôi muốn thêm rằng SSD của Intel rất nhanh. máy riêng biệt cho bạn linh hoạt hơn. Ổ đĩa của bạn có âm thanh đủ nhanh để thử nghiệm, nhưng đối với công việc phát triển, nhịp đập tức thì nhanh.


1

Vì mỗi VM "sở hữu" bộ nhớ riêng của nó trong Hyper-V, số lượng VM bạn có thể lưu trữ chủ động được giới hạn bởi RAM có sẵn. Vì vậy, thực sự không thể có quá nhiều.

Tất nhiên cổ chai tốc độ lớn nhất trên máy dev là ổ cứng. Với ram thêm, bạn có thể thiết lập cho mình một ổ RAM có thể mang lại lợi ích hiệu năng rất lớn.


Vâng, không nghi ngờ gì, tôi đã không đề cập đến các ổ đĩa vì tôi muốn câu hỏi chỉ tập trung vào bộ nhớ. Bộ nhớ DDR3 không rẻ và nếu tôi không cần 24 GB và 16 GB thì tôi sẽ bỏ thông số kỹ thuật. Máy này sẽ có 4 ổ đĩa 15k SAS, vì vậy tôi nghĩ rằng chúng đủ nhanh.

1

Bạn sẽ không gặp vấn đề gì khi xử lý RAM đó, bạn có thể thoát khỏi 20 GB nhưng tại thời điểm này, bạn cũng có thể nhận thêm 4 GB. Tại sao bạn làm điều này trên một máy phát triển? Trừ khi bạn là một người đàn ông, nên có một máy chủ trung tâm xử lý những thứ như thế này.


Đó là một bài kiểm tra. Tôi sẽ đánh giá cấu hình này cho nhóm QA của chúng tôi để thực hiện kiểm tra nhiều tầng. Sau giai đoạn eval, chúng tôi có thể sẽ nhận được một rackmount với thông số kỹ thuật tương tự. Thêm vào đó, nó là một cái cớ để tôi thử và chơi với máy ảo mà tôi không thường làm.

1

Nếu kịch bản của bạn là về máy chủ + máy khách, thiết lập nhiều máy sẽ tốt hơn cho mô phỏng và rẻ hơn. Máy ảo thực sự không giống như hệ điều hành gốc, luồng và cấu hình bị hỏng nên bạn sẽ không hoàn toàn nhắm mục tiêu và tệ hơn là thực tế sẽ không thể cấu hình tương ứng.

2 xu của tôi


1
Độ trễ mạng cũng có thể là một yếu tố - mặc dù tôi nghĩ rằng việc kiểm tra máy chủ của bạn trong VM thường có giá trị trong những ngày này vì có rất nhiều cơ sở hạ tầng được ảo hóa trong thế giới doanh nghiệp để giảm chi phí ...
Bittercoder

Điểm hay, nếu bạn chạy máy chủ của mình trên phần cứng của ai đó thì ngày nay nó giống như được ảo hóa
Robert Gould

1

Robert,

Nếu bạn có ý định chạy 8 máy ảo (cho nhà phát triển hoặc cách khác) cùng một lúc, tôi khuyên bạn nên khám phá các tùy chọn ảo hóa máy chủ do VMWare cung cấp. Nhìn chung, công nghệ ảo hóa máy chủ được tối ưu hóa và hiệu quả hơn nhiều trong việc sử dụng tài nguyên vật lý so với đối tác máy trạm.

Tôi đã có cơ hội làm việc với VMWare Cơ sở hạ tầng 3 (là danh pháp ô cho họ sản phẩm / công nghệ ảo hóa máy chủ của VMWare) và tôi phải nói rằng tôi rất ấn tượng. Phiên bản máy chủ cực kỳ hiệu quả khi so sánh với phiên bản máy trạm và nó cung cấp sự linh hoạt đáng kinh ngạc.

Tôi không có kinh nghiệm với Hyper-V nhưng nhiều người đã sử dụng nó nói rất nhiều về nó. Tuy nhiên, tôi coi VMWare là một giải pháp thay thế ưu việt vì thực tế đơn giản là nó cho phép bạn tạo các VM chạy các Hệ điều hành khác nhau trên cùng một máy chủ vật lý, điều mà Hyper-V không thể làm (AFAIK)

Về RAM, các giới hạn của cơ sở hạ tầng VMWare vượt quá 24Gb và cho phép bạn cung cấp bộ nhớ khả dụng và thậm chí từng lõi, tuy nhiên bạn mong muốn giữa các khách của mình - miễn là khách hỗ trợ.

Nếu bạn quan tâm đến việc tìm hiểu về Cơ sở hạ tầng VMWare 3, tôi khuyên bạn nên Cuốn sách này vì nó chứa các cuộc thảo luận về kiến ​​trúc của máy chủ VMWAre ESX và các cân nhắc kỹ thuật mà bạn sẽ khó tìm thấy ở bất kỳ nơi nào khác.

Tôi hy vọng bạn sẽ thấy điều này hữu ích, mặc dù nó không phải là câu trả lời trực tiếp cho câu hỏi của bạn và bạn sẽ xin lỗi nhận xét của tôi (24Gb cho một máy dev có vẻ hơi khác thường .. ít nhất là trong một thời gian)


1
Cảm ơn các liên kết. Vì tôi sẽ chỉ giao dịch với Microsoft OS, tôi sẽ dùng thử Hyper-V nhưng sẽ ghi nhớ nếu tôi cần khám phá hơn thế. Tôi đồng ý 24GB có vẻ cực đoan nhưng chỉ tốn 500 - 750 đô la (tôi quên chính xác) hơn 12GB. Vài năm kể từ bây giờ hầu hết các ý kiến ​​về câu hỏi này sẽ có vẻ kỳ lạ! ;-)

Tôi đồng ý về RAM. Tuy nhiên, liên quan đến Hyper-V, tôi nghĩ hiện tại nó chỉ hoạt động với Win 2K8 và trong kịch bản của chúng tôi, chúng tôi đã có một số công cụ chỉ tương thích với 2K3. Có lẽ bạn có thể chia sẻ những phát hiện của bạn sau này!
Miky Dinescu

0

Chúng tôi đang chạy Hyper V và lưu trữ phiên bản của cả Server 2003 và XP trên cùng một máy.

--- đây được cho là một câu trả lời mà người dùng nói rằng bạn không thể lưu trữ các hệ điều hành khác nhau trên cùng một máy trong Hyper V. Hoặc đó là cách tôi đọc nó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.