Có bất kỳ nhược điểm nào của công tắc chuyển đổi / 3Gb trong boot.ini cho Windows 32 bit không?


8

Microsoft khuyên bạn nên sử dụng / chuyển đổi 3Gb trong Boot.ini để có thêm bộ nhớ cho một quy trình chạy trên hệ thống 32 bit.

Hiện tại tôi cần rất nhiều bộ nhớ cho quy trình devenv (Visual Studio 2008) vì tôi có một giải pháp phức tạp có nhiều dự án và biểu mẫu và tiêu tốn nhiều tài nguyên trong thời gian thiết kế.

Tôi muốn hỏi, nếu có ai biết, các khía cạnh tiêu cực của việc sử dụng chuyển đổi / 3Gb là gì, có trường hợp nào không nên sử dụng nó không.


Cảm ơn tất cả những người đã trả lời, tất cả các bài viết rất nhiều thông tin và có rất nhiều cân nhắc để được tính đến. Tôi cũng đã đọc một số tài liệu và nhận thấy rằng đối với MS SQL Server, bạn không cần điều này ngay cả đối với các hệ thống 32 bit, bạn có thể kích hoạt Tiện ích mở rộng cửa sổ địa chỉ (AWE) technet.microsoft.com/en-us/l
Library / ms190673.aspx

Câu trả lời:


11

Trên một máy tính để bàn, có khả năng không có vấn đề. Nhóm phân trang hạt nhân nhỏ hơn trên máy W2K3 / WXP với bộ chuyển đổi / 3GB. Đây có lẽ không phải là vấn đề đối với máy tính để bàn vì bạn không nên đến gần để làm cạn kiệt hồ sơ phân trang hạt nhân của mình. Trên một máy chủ, việc xả hết nhóm phân trang nhân sẽ gây ra sự cố cho bạn và nhiều khả năng bạn có thể làm cạn kiệt nó.

Đây là một số chi tiết tốt về các cân nhắc bộ nhớ kernel liên quan đến chuyển đổi / 3GB. Nếu bạn thực sự muốn, bạn có thể kích hoạt trình gỡ lỗi kernel NT và cấu hình hệ thống của bạn trước và sau khi thay đổi với thông tin trong tài liệu này: http://blogs.technet.com/markrussinovich/archive/2009/03/26 /3211216.aspx


3
Tôi luôn tự hỏi, khi tôi nhận được downvote, tại sao tôi lại nhận được downvote. Tôi không tin bất cứ điều gì trong bài đăng này là thực tế không chính xác, nhưng nếu đó là tôi muốn biết để tôi có thể xóa bài đăng hoặc sửa nó. Tôi tò mò không biết vấn đề của những kẻ hạ bệ là gì ... (và tất nhiên, tôi nhận ra rằng họ sẽ không bao giờ quay lại để trả lời bình luận này ... ồ, à ...)
Evan Anderson

5

Bạn sẽ có ít bộ nhớ hơn cho kernel của mình - công tắc điều chỉnh phân chia không gian địa chỉ chế độ kernel / không gian địa chỉ người dùng, trước đây là 2GB đến 2GB, thành 1GB đến 3GB. Đọc bài đăng của Raymond Chen trên / 3GB và theo dõi trước khi tiếp tục.


5

Trước khi thực hiện bất kỳ thay đổi nào, trước tiên bạn nên kiểm tra xem các quy trình bạn muốn chạy có được liên kết với cờ LARGEADDRESSAWARE không. Với cờ, sẽ không có thay đổi về cách quá trình sử dụng bộ nhớ.

Bạn có thể sử dụng Công cụ SDK cho việc này:

dumpbin / tiêu đề exeName

Các tiêu đề phun ra nên bao gồm:

Ứng dụng có thể xử lý các địa chỉ lớn (> 2GB)

Tôi đã kiểm tra trên devenv.exe và trong VS2008, nó có bao gồm cờ.


4

Rất nhiều nhược điểm. Theo mặc định, Windows sẽ phân bổ nhóm bộ nhớ 4GB cho mọi quy trình, được phân chia 50/50 giữa các quy trình chế độ nhân (chung cho tất cả các ứng dụng) và quy trình chế độ người dùng (duy nhất cho mỗi ứng dụng) (giải thích đơn giản). Do đó, một ứng dụng chạy trên hệ thống có bộ nhớ 2GB để chơi, trong khi bản thân hệ thống có 2GB. Lưu ý quan trọng: 2GB thứ hai này là 2GB giống nhau cho tất cả các ứng dụng đang chạy trên hệ thống.

Công tắc / 3GB điều chỉnh sự phân chia để chế độ kernel được 1GB và chế độ người dùng được 3GB.

Bây giờ hãy xem xét các ứng dụng bạn đang chạy. Một số trong số chúng sẽ yêu cầu nhiều không gian chế độ kernel hơn, một số sẽ yêu cầu nhiều không gian chế độ người dùng hơn. Khi nhóm chế độ kernel được chia sẻ, bạn có thể nhanh chóng hết bộ nhớ ở đó nếu bạn đang chạy các ứng dụng khiến bộ nhớ chế độ kernel bị áp lực. Mặt khác, nếu ứng dụng của bạn sử dụng nhiều bộ nhớ chế độ người dùng, việc triển khai / 3GB sẽ cung cấp cho họ khoảng trống mà họ yêu cầu.

Vì vậy, nó thực sự đi xuống bản chất của các ứng dụng bạn muốn chạy. Nguyên tắc vàng là tham khảo nhà cung cấp ứng dụng và đọc tài liệu; đặc biệt là nếu nhà cung cấp ứng dụng không có khuyến nghị nào thì bạn nên bắt đầu nghi ngờ ... họ đã kiểm tra đúng ứng dụng của họ hay chưa? Đây là thứ cơ bản mà mọi nhà cung cấp nên biết.

Có một cuộc thảo luận khá tốt về tất cả ở đây: http://blogs.technet.com/askperf/archive/2007/03/23/memory-manloyment-demystifying-3gb.aspx

Trong trường hợp cụ thể của bạn, tôi nghĩ chuyển sang 64 bit và nhận thêm RAM sẽ là giải pháp khả thi hơn, vì / 3GB sẽ không thực sự mang lại cho bạn những gì bạn muốn (thậm chí nó có hoạt động trên XP không?)


Tôi nghĩ, thay vì "nhóm chế độ kernel" tốt hơn để nói "không gian địa chỉ ảo kernel". Ngoài ra "chia sẻ" có nghĩa là đối với tôi "giống hệt nhau cho tất cả các ứng dụng". Có phải vậy không
dma_k

1

Chúng tôi đã sử dụng nó trên một vài hệ thống đang chạy các ứng dụng xử lý hình ảnh trên nhiều hình ảnh lớn và không bao giờ nhận thấy bất kỳ vấn đề nào. Trong mọi trường hợp bạn cần thêm Gig bộ nhớ ứng dụng, có lẽ bạn sẽ để ứng dụng chạy và không làm gì khác với hệ thống, vì vậy có lẽ sẽ không ảnh hưởng nhiều.


1

Tôi đã thấy nó can thiệp vào thẻ video theo những cách kỳ lạ. Nhưng bất kỳ trình điều khiển nào cũng có thể hoạt động sai với công tắc này nếu nó không được viết đúng.

Đôi khi những vấn đề này có thể được giải quyết với việc bổ sung công tắc / USERVA.

http://support.microsoft.com/kb/319043
http://support.microsoft.com/kb/833721
http://support.microsoft.com/kb/839490
http://support.microsoft.com/kb / 316739


1

Nó chỉ hoạt động đáng tin cậy (ngoại trừ trình điều khiển gỡ lỗi, v.v.) trên hệ điều hành máy chủ doanh nghiệp cho các nhị phân LARGEADDRESSAWARE.

devenv không phải là một nhị phân . SQL Server và Exchange là ví dụ.

Bạn cần một hệ điều hành x64 bit chỉnh sửa VS x64 : LARGEADDRESSAWARE được phát hiện trên x64 để phá vỡ giới hạn 2GB.


Actaully devenv.exe là tinyeaddresswar.
Jack Bould

đúng, tôi đã bỏ lỡ điều đó trong bản chỉnh sửa của mình về x64. Đã chỉnh sửa một lần nữa
gbn
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.