Tôi vẫn cần sử dụng bộ nhớ ảo?


14

Tôi đã nghĩ rằng điều này đã được hỏi nhưng dường như tôi không thể tìm thấy nó.

Tại thời điểm nào tôi không còn cần kích hoạt bộ nhớ ảo? Với 4GB RAM tôi thấy rằng máy tính hiếm khi sử dụng bất cứ nơi nào gần tất cả. Tại thời điểm đó, bộ nhớ ảo không thực sự cần thiết. Có nguy hiểm trong việc tắt nó? Có tính năng nào tôi sẽ mất nếu tôi làm không?


1
Chú ý: Chỉ có một lượng bộ nhớ giới hạn được cung cấp cho trình điều khiển, được gọi là phần bộ nhớ non-pagedpagednhóm bộ nhớ. Một tệp trang là cần thiết khi phần phân trang đầy, vì một game thủ tôi đã thấy một trò chơi phàn nàn về bộ nhớ nhóm phân trang chỉ vì tôi đã vô hiệu hóa tệp trang của mình trên hệ thống 8 GB. Kết luận: Các tập tin trang là cần thiết, chúng ngăn chặn sự suy giảm nhóm phân trang và thực sự làm tăng tốc hệ thống của bạn.
Tamara Wijsman

Câu trả lời:


9

Vì bộ nhớ không còn là tài nguyên thưa thớt trên máy tính để bàn / máy tính xách tay nữa, tôi nghi ngờ rằng hầu hết các chương trình có thể xử lý tình trạng hết bộ nhớ một cách duyên dáng và thay vào đó sẽ bị sập.
Vậy: Nguy hiểm? Có , nếu 4GB của bạn được sử dụng hết bằng cách nào đó và bạn không có pagefile, các ứng dụng có thể bắt đầu gặp sự cố.
Và như trong ví dụ của Zoran, có thể khó xác định vấn đề sau này.

Bài báo mà Ram đề cập cũng nói rằng việc tắt trao đổi thường không cải thiện tốc độ và thay vào đó có thể làm ngược lại :

Vì vậy, trong khi có thể có một số khối lượng công việc hoạt động tốt hơn mà không có tệp hoán trang, nói chung có một khối sẽ có nghĩa là bộ nhớ có thể sử dụng nhiều hơn cho hệ thống


Tôi sẽ phải tìm hiểu bài viết trên trang của MS, nhưng MS nói rằng bạn phải luôn có một trang. Ngay cả trên các hệ thống bộ nhớ cao, việc không có ai cũng có thể khiến máy của bạn chạy chậm hơn.
Keltari

10

Xem bài viết của Mark Russinovich về Bộ nhớ ảo. Điều đó sẽ cung cấp cho bạn một con trỏ tốt về Bộ nhớ ảo.

Đây là một đoạn trích hữu ích từ liên kết

Vì vậy, làm thế nào để bạn biết bao nhiêu cam kết tính phí khối lượng công việc của bạn yêu cầu? Bạn có thể đã nhận thấy trong các ảnh chụp màn hình mà Windows theo dõi con số đó và Process Explorer hiển thị nó: Charge Commit Charge. Để tối ưu hóa kích thước tệp hoán trang của bạn, bạn nên khởi động tất cả các ứng dụng bạn chạy cùng lúc, tải các bộ dữ liệu điển hình và sau đó lưu ý đỉnh phí cam kết (hoặc xem giá trị này sau một khoảng thời gian bạn biết tải tối đa đã đạt được) . Đặt tối thiểu tệp hoán trang thành giá trị đó trừ đi lượng RAM trong hệ thống của bạn (nếu giá trị âm, chọn kích thước tối thiểu để cho phép loại kết xuất sự cố mà bạn được định cấu hình). Nếu bạn muốn có một số phòng thở cho nhu cầu cam kết tiềm năng lớn, hãy đặt mức tối đa gấp đôi số đó.


+1 để tham khảo Mark Russinovich. Luôn luôn là một đọc tuyệt vời.
mrduclaw

3

Bài đăng cổ điển này trên ServerFault có một số điểm tốt. Chỉ với 4GB, tôi sẽ để trangfile một mình và không gian trên đĩa là nhỏ trong mọi trường hợp.


3

Tôi khuyên bạn nên để các thiết lập bộ nhớ ảo về mặc định của chúng. Tôi có 8GB RAM và tắt bộ nhớ ảo vì nghĩ rằng tôi sẽ tăng tốc (vì không tráo đổi), nhưng hóa ra nó làm cho hệ thống của tôi kém ổn định hơn (và tôi đã làm điều này trên 2 máy, kết quả tương tự). Tôi đã trải nghiệm một BSOD mỗi tuần khoảng, trên cả hai máy. Tôi bắt đầu kiểm tra các minidumps được tạo ra và phát hiện ra rằng tất cả các BSOD được kích hoạt bởi một cuộc gọi đến một thói quen gọi là KiPageFault. Vì vậy, tôi đã thử cài đặt các thiết lập bộ nhớ ảo về mặc định của chúng và các BSOD thông thường biến mất.

Mất khá nhiều thời gian để tương quan với 2 và tôi không có bằng chứng thực tế nào cho thấy việc tôi tắt bộ nhớ ảo gây ra các BSOD, nhưng máy của tôi ổn định hơn sau khi tôi bật lại ...


Cảm ơn. Thật tốt khi nghe kết quả thực sự và không chỉ là giả định.
Steve Rowe

0

Phụ thuộc vào khối lượng công việc của bạn. Tôi đã thiết lập một loạt các giao diện không cần đĩa cho một ứng dụng web. Họ khởi động mạng và chạy mọi thứ họ cần trong vòng 8GB ram.

Tôi cũng đã sử dụng windows (98 có lẽ) với 32 MB và không có pagefile - tất nhiên bạn phải sống trong không gian bộ nhớ đó và giới hạn các ứng dụng của mình để phù hợp với tài nguyên.

Bạn muốn chắc chắn rằng có thêm một chút RAM cho bộ đệm đĩa, nếu không hiệu suất có thể trở nên khủng khiếp.

Tôi dường như nhớ lại rằng có một số chương trình sẽ không chạy mà không có VM, nhưng tôi không biết chúng là gì


-2

Chà, Steve, thật thú vị khi bạn nên hỏi điều đó.

Tôi sẽ nói với bạn một bí mật nhỏ: điểm mà bạn cần bộ nhớ ảo chưa bao giờ. Bộ nhớ ảo là một ý tưởng hoàn toàn bất tài được tạo ra bởi một nhóm các học giả, những người không biết gì về các hệ thống máy tính thực tế và máy tính BẤT K will sẽ hoạt động tốt hơn rất nhiều nếu có thể chạy mà không cần VM.

Bây giờ, bạn có thể hỏi, nếu VM vô dụng và có hại, tại sao hầu hết các hệ điều hành hiện đại lớn đều sử dụng nó? Câu trả lời ngắn gọn cho câu hỏi này là những người quyết định có nên sử dụng VM hay không tại Microsoft, Apple và IBM thậm chí còn ngu ngốc và thiếu kinh nghiệm hơn các học giả đã phát minh ra VM và muốn áp dụng nó dựa trên cùng một giả định hoàn toàn không chính xác rằng các học giả đã có khi họ phát minh ra nó. Chúng ta có thể bắt đầu nói về những giả định và quan niệm sai lầm đó, nhưng thật không may, nếu chúng dễ hiểu và mô tả thì chúng ta sẽ không gặp vấn đề VM ngay từ đầu.

Trở về với bạn Thật không may, giống như các tardnoggins đã nói ở trên tại Apple và Microsoft, bạn có những quan niệm sai lầm của riêng bạn, cụ thể là ý tưởng rằng bạn có thể tắt VM. Tất nhiên, bạn không thể tắt nó đi, điều đó sẽ đánh bại toàn bộ mục đích lừa bạn nếu bạn có thể tắt nó đi. Khi mọi người làm điều gì đó thực sự ngu ngốc, họ luôn đảm bảo rằng nó không thể đảo ngược. Rốt cuộc, nếu tất cả mọi người có thể tắt VM, họ sẽ làm vậy, và điều đó sẽ khiến các bozos tạo ra nó trông khá ngu ngốc phải không? Họ đã ngăn chặn khả năng này bằng cách làm cho nó không thể bị phá hủy, giống như Microsoft đã khiến Internet Explorer không thể bị phá hủy.

Những gì bạn có thể làm là giới hạn kích thước của tệp trang, tất nhiên nên được đặt ở mức tối thiểu, hy vọng là 0. Bộ nhớ ảo vẫn còn đó, nhưng ít nhất bạn có thể giảm nó từ rất rất chậm xuống rất rất chậm chậm bằng cách yêu cầu nó không liên quan đến ổ đĩa trong sự điên rồ.


Bộ nhớ ảo cho phép rất nhiều điều tốt đẹp. Nếu bạn không có bộ nhớ ảo thì bạn sẽ phải có đủ RAM để chứa từng byte mã và dữ liệu mà mọi quy trình trên hệ thống của bạn xác định, cho dù nó có thực sự được tham chiếu hay không. Vì hầu hết các chương trình dành 90% thời gian của họ để sử dụng 10% mã và dữ liệu của họ, đây sẽ là một sự lãng phí rất lớn. Bạn cũng sẽ mất nhiều thứ hữu ích khác, mà định dạng bình luận ở đây không cho tôi chỗ để phác thảo. Lý do chúng tôi không từ bỏ bộ nhớ ảo là nó vẫn là một ý tưởng thực sự, thực sự tốt. Ngay cả trong "hệ thống máy tính thực tế".
Jamie Hanrahan

@RickBrant Bạn có vẻ như các kỹ sư điện ngốc của Intel và IBM mà tôi sử dụng phải nghe lại vào những năm 1980 khi cố gắng giải thích tại sao VM là một ý tưởng hay. Tôi nhớ lại khi IBM ra mắt với OS / 2, đây là bộ não hệ điều hành đầu tiên bị hỏng với VM, phải lắng nghe họ giải thích tại sao nó lại là một ý tưởng tuyệt vời như vậy. Chà, cảm ơn chúa OS / 2 đã chết, nhưng tiếc là VM vẫn tiếp tục, như một thây ma, vì vậy đây là năm 2017 và tôi vẫn đang nghe điều vô nghĩa này. Tôi sẽ đặt cược đô la cho những chiếc bánh rán mà bạn không có bằng CS, làm bạn? Đó là phần đùa. 99% những người quảng bá VM không phải là lập trình viên
Tyler Durden

Tôi là một chuyên ngành kép trong thực tế, CS / EE, tại một trong những trường công nghệ tốt nhất ở bờ tây. Hôm nay tôi chủ yếu là một lập trình viên, nhưng tôi tương tác với các loại phần cứng. Bây giờ, bạn có phản bác đồng thời đến mức sẽ rất lãng phí khi phải giữ từng byte mã và dữ liệu cuối cùng mà một chương trình xác định trong RAM mọi lúc, cho dù nó có cần hay không? Bởi vì bộ nhớ ảo tránh được điều đó. Hay bạn sẽ tiếp tục với các cuộc tấn công cá nhân lên tới "bạn phải là một thằng ngốc"?
Jamie Hanrahan

Ồ, và lại là "OS / 2, là bộ não hệ điều hành đầu tiên bị hỏng với VM," Ừm, không, không phải khoảng hai thập kỷ. Có lẽ hệ điều hành được sử dụng rộng rãi đầu tiên cho PC. (Nhưng không phải là lần đầu tiên cho "máy tính cá nhân".)
Jamie Hanrahan
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.