Điều gì giới hạn máy Windows 7 x64 với <= 192GB RAM?


117

Tôi biết bo mạch chủ, BIOS, v.v. có thể đặt giới hạn trên cho số lượng RAM chúng ta có thể cài đặt hoặc sử dụng trên từng máy. Tuy nhiên, điều gì xác định RAM tối đa cho Windows 7 x64?

Đó có phải là một giới hạn kiến ​​trúc cơ bản của HĐH? Các phiên bản Windows 7 khác nhau có mức tối đa RAM khác nhau (Phiên bản Starter <= 2GB, Professional <= 192 GB). Nó có phải là một cái gì đó có thể thực sự thay đổi?

Để so sánh, Ubuntu 64x cho phép RAM tối đa 1024GB.



1
Họ chọn những hạn chế về thể chất. Khi Windows 7 được phát hành, không có phần cứng nào hỗ trợ hơn 192GB bộ nhớ trong thị trường không có máy chủ
Ramhound

5
cài đặt Windows 8, tại đây Pro / Enterprise có thể sử dụng RAM 512GB.
magicandre1981

Câu trả lời:


185

Câu trả lời ngắn gọn: giấy phép

Không bao gồm phần cứng từ phương trình, phần lớn là hạn chế phần mềm nhân tạo:

[Giới hạn] được truy xuất từ ​​sổ đăng ký bằng cách gọi một hàm có tên ZwQueryLicenseValue, chính nó được gọi từ một thủ tục nội bộ mà tên tập tin biểu tượng được xuất bản của Microsoft là MxMemoryLicense.

Nguồn: Bộ nhớ được cấp phép trong Windows Vista 32 bit

Thông tin thêm

Tất nhiên, dữ liệu giấy phép được lưu trữ trong sổ đăng ký ngay cả ở định dạng không có giấy tờ có thể dễ dàng được thay đổi bởi người dùng, họ sẽ có một số động lực để thử vì Microsoft tính giá khác nhau đáng kể cho các giấy phép khác nhau. Do đó, Microsoft có một kế hoạch phức tạp để kiểm tra dữ liệu giấy phép vẫn như Microsoft muốn. Hạt nhân là kho lưu trữ cho dù dữ liệu cấp phép đã bị giả mạo và đến cuối cùng, xuất thêm hai hàm ExGetLicenseTamperStateExSetLicenseTamperState.

Nguồn: Cấp phép phần mềm

­

ExGetLicenseTamperState

Hàm [không có giấy tờ] này hỏi kernel xem dữ liệu giấy phép có bị giả mạo hay không.

Việc sử dụng nội bộ là trong một bộ đếm thời gian lặp lại khoảng mỗi giờ. Nếu trạng thái giả mạo được tìm thấy là 4, thì Windows dừng lại. Mã kiểm tra lỗi là SYSTEM_LICENSE_VIOLATION( 0x9A), với 0x1Btư cách là đối số đầu tiên.

Nguồn: ExGetLicenseTamperState

Một ví dụ thực tế

Hãy nói rằng bạn có một máy tính với 32 GiB RAM, và bạn cài đặt Windows 7 Home Premium x64 (64-bit). Trong trường hợp đó, bạn sẽ bị giới hạn ở 16 GiB. Nếu bạn đang sử dụng Windows Bất cứ lúc nào Nâng cấp và nâng cấp lên phiên bản đắt tiền hơn, đột nhiên giới hạn sẽ được đặt thành 192 GiB.

Phần kết luận

Tất cả các phiên bản Windows 7 đều có chung mã nguồn. Sự khác biệt chính là số lượng tính năng / giới hạn được bật hoặc tắt. Các phiên bản máy khách chuyên nghiệp và cao hơn không có giới hạn trên đối với lượng RAM chúng có thể xử lý và chỉ được cấp phép cho những gì Microsoft đảm bảo hỗ trợ.

Ngoài ra, Windows 7 EULA nói rõ ràng rằng bạn không thể "sử dụng phần mềm cho dịch vụ lưu trữ phần mềm thương mại", gợi ý Microsoft cho rằng nếu bạn cần thêm RAM thì phiên bản máy khách cao nhất được cấp phép, thì thứ bạn thực sự muốn là máy chủ giấy phép. Bản sao máy chủ của Windows 7 (nghĩa là Windows Server 2008 R2) có thể sử dụng tối đa 2 TiB RAM trong phiên bản Enterprise và Datacenter.

Khi công nghệ phát triển nhanh, những gì được chấp nhận ngày hôm qua có thể không đủ vào ngày mai. Để bắt kịp, Windows 8 đã nâng giới hạn lên 128 GiB và 512 GiB cho phiên bản Core và Pro / Enterprise tương ứng. Điều đó chỉ áp dụng cho các phiên bản 64 bit, mặc dù: phiên bản 32 bit vẫn được giới hạn ở mức 4 GiB. Phiên bản máy chủ, Windows Server 2012, có thể xử lý tối đa 4 TiB RAM trong các phiên bản cao hơn.

đọc thêm


32
Đây là câu trả lời tốt nhất vì nó liên kết đến một nguồn tốt với phân tích.
Kevin Panko

9
Chỉ cần bảo vệ một chút: mã nguồn có thể giống nhau, nhưng nó không nhất thiết là cùng một mã mà sẽ có ở đó mà không có sự hỗ trợ. Ví dụ, rất nhiều công việc đã được thực hiện để cải thiện khả năng mở rộng khi bạn có nhiều bộ xử lý (xem "khóa bộ điều phối toàn cầu" tại đây: tomshardware.com/news/microsoft-windows-server,6589.html ). Mã đó gần như chắc chắn giống nhau trong tất cả các phiên bản, tuy nhiên phiên bản Windows cao hơn hỗ trợ nhiều CPU hơn. Nhưng việc hỗ trợ nhiều CPU mất nhiều công sức hơn. Có công bằng để tính phí nhiều hơn cho công việc đó?
Mark Sowul

8
trong ngắn hạn: tối thiểu (License_limit, vật lý_limit)
akira

2
Các sản phẩm @ AndonM.Coleman như Windows bán rất nhiều bản sao chi phí phát triển cho mỗi giấy phép là không đáng kể so với hầu hết các chi phí khác trên mỗi giấy phép. Tôi thấy các bài báo trực tuyến nói rằng Windows 8 đã bán được hơn 100 triệu giấy phép trong 6 tháng đầu tiên. Trong vòng đời của Windows 8 / 8.1, tôi hy vọng chi phí phát triển cho mỗi giấy phép sẽ thấp hơn chi phí sản xuất hộp bán lẻ và nội dung trên mỗi hộp. Các phiên bản mới của Windows thường không được viết từ đầu. Windows 8 / 8.1 / 2012 đều RẤT giống nhau, và tương tự dưới mui xe với vista / 7/2008. XP /
2003/2000

5
Đừng hiểu sai ý tôi, các phiên bản mới đã hoàn thành công việc để làm cho chúng tốt hơn các phiên bản cũ. Nhưng những thứ như quản lý bộ nhớ vẫn gần như giống hệt nhau giữa các phiên bản. Một vài điều chỉnh thường được thực hiện khi phần cứng mới làm nổi bật các vấn đề không rõ ràng trong thử nghiệm trước đây. Nhưng mã chính vẫn giữ nguyên trong một nhóm sản phẩm.
BeowulfNode42

53

Microsoft cấp phép theo cách đó. Họ có thể muốn bạn đi và trả tiền cho một sản phẩm Windows Server được cấp phép để chạy với các tài nguyên lớn hơn. Nó giống với các sản phẩm khác như SQL Server. SQL Server Express có những hạn chế được đặt trên nó để nếu bạn cần thêm tài nguyên, bạn phải mua sản phẩm cho phép.


6
Anh ấy, Windows Server có sẵn miễn phí cho sinh viên ( dreamspark ), vì vậy đối với chúng tôi, điều đó khả thi hơn là mua một bản sao Windows ... (không liên kết)
gparyani 4/214

2
đây là một trong những lý do tại sao Windows XP 32 bit trở lên có thể hỗ trợ PAE nhưng MS giới hạn giới hạn ở 4GB RAM
phuclv

3
@MattH giới hạn ở mức 3 GB là vì Gig phía trên là bộ nhớ được ánh xạ tới các thiết bị ngoại vi
ratchet freak

2
@MattH Đó là một quan niệm sai lầm phổ biến. Ví dụ: hãy xem Yêu cầu hệ thống chính thức của Windows Server 2008 : "Tối đa ( hệ thống 32 bit ): 4GB (Tiêu chuẩn) hoặc 64GB (Doanh nghiệp và Trung tâm dữ liệu)." Trong trường hợp này, 4 GB là giới hạn giấy phép và 64 GB là giới hạn Gia hạn Địa chỉ Vật lý (giả sử chipset hỗ trợ ánh xạ lại).
và31415

3
Lý do Windows 32 bit của người tiêu dùng từ chối sử dụng hơn 4GB không gian địa chỉ là do có quá nhiều trình điều khiển 32 bit không biết về PAE và sẽ gây ra BSOD nếu sử dụng nó. Sẽ là một cơn ác mộng hỗ trợ nếu MS kích hoạt điều đó.
Andrew Medico
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.