Có gì sai khi vô hiệu hóa tập tin trang Windows?


15

Mọi người nói rằng bạn luôn cần một tệp trang và nó sẽ tăng hiệu suất, nhưng Windows 7 của tôi được thiết lập để chạy mà không cần tệp trang. Tôi chỉ đơn giản là không hiểu tại sao mọi người nói điều này - tôi có 6 GiB RAM và lần duy nhất tôi gần hết RAM là khi tôi biên dịch Chromium, do đó tôi tạm thời kích hoạt tệp trang.

Tôi có thực sự cần một tệp trang * để tăng tốc độ trong các tình huống điển hình không? Tại sao?

* Tôi biết rằng các bãi đổ vỡ cần một tệp trang. Mặc dù vậy, tôi không bao giờ sử dụng bãi rác, vì vậy điều đó không thành vấn đề.

Câu trả lời:


8

Một pagefile sẽ không bao giờ tăng hiệu năng, nhưng nó cũng không nhất thiết làm giảm nó (với quản lý bộ nhớ phù hợp). Tuy nhiên, việc chạy mà không có pagefile sẽ chỉ có xu hướng làm tăng sự không ổn định của hệ thống của bạn đối với các ứng dụng yêu cầu bộ nhớ không có sẵn để sử dụng.

Trừ khi hệ điều hành của bạn đặc biệt tệ trong việc quản lý bộ nhớ, một tệp trang có 6GiB bộ nhớ sẽ ít được sử dụng. Điều đó không có nghĩa là nó sẽ không thấy bất kỳ việc sử dụng nào cả; IIRC MS Windows là một chút điên rồ khi nói đến việc phân trang mọi thứ ngay cả khi có nhiều bộ nhớ có sẵn. (Tại sao, tôi sẽ không bao giờ biết.)

Tuy nhiên, điều gì xảy ra khi bạn không sử dụng pagefile có thể là lý do đủ để kích hoạt nó: sự cố cứng. Hầu hết các ứng dụng mong đợi nhận được bộ nhớ mà họ yêu cầu. Khi họ không, họ sụp đổ. (Ah, nhưng tốt-cũ-ngày vì phải sống trong một vài ngàn byte đã mất hết ..., và cho tất cả quá nhiều nhà phát triển, vì vậy có thực tế để đối phó với quản lý bộ nhớ.)

Nếu một ứng dụng được xây dựng đúng, nó sẽ thất bại. (Với may mắn, nó sẽ không thất bại chút nào. Nhưng đừng tin vào điều đó.) Với hầu hết các ứng dụng, bạn sẽ có một thất bại tuyệt vời trên tay. Hơn nữa, bạn càng có nhiều ứng dụng gần với giới hạn đó, bạn càng có nhiều khả năng thấy sự mất ổn định trên toàn hệ thống.

Trường hợp từ kinh nghiệm của riêng tôi. Windows XP, 4GiB, Không có tệp trang. Perf thật tuyệt Cho đến khi chúng tôi bắt đầu tiến gần đến giới hạn 4GiB. Sau đó, mọi thứ trở nên tồi tệ: các ứng dụng sẽ bị sập, các mục menu sẽ chỉ xuất hiện một phần (hoặc hoàn toàn không), các nút sẽ không làm gì cả, v.v. Tôi đã quay lại tập tin trang, mặc dù hiệu suất kém hơn với nó - sự ổn định nói chung chỉ đơn giản là tốt hơn và quan trọng hơn

Bây giờ, có lẽ bạn không sử dụng bất kỳ ứng dụng nào hoặc hoạt động trong các ứng dụng của mình sẽ đẩy 6GiB, nhưng tôi có thể nghĩ đến một vài tình huống mà bạn có thể tiến gần đến: chỉnh sửa video, chỉnh sửa ảnh, trộn âm thanh và sản xuất, v.v. - về cơ bản là bất cứ điều gì mà bạn đang xử lý nhiều dữ liệu (làm việc với hoặc phát trực tuyến). Khi dữ liệu đó vượt quá khả năng bộ nhớ của bạn, rất có thể ứng dụng của bạn sẽ chạy "gặp sự cố".


Vì vậy, chỉ cần đặt (Có / Không): có đúng không khi nói rằng, nếu tôi không bao giờ sử dụng hơn 2 GiB RAM , tôi sẽ không thấy hiệu suất tăng ? Hay vẫn còn một lời cảnh báo ở đâu đó, ngay cả với điều kiện tiên quyết đó?
dùng541686

9
Không, một tập tin trang không bao giờ cải thiện hiệu suất. Nó chỉ cải thiện sự ổn định . Paging, theo định nghĩa, là một hoạt động cấp đĩa và hoạt động của đĩa luôn chậm hơn các hoạt động cấp RAM. Và, bạn có nhiều khả năng hơn là không, ngay cả với 6GiB (không bao giờ vượt quá 2GiB), bạn vẫn sẽ gặp một số vấn đề về hiệu suất vì Windows sẽ vẫn bực bội, vì vậy, các trang không được sử dụng ra khỏi đĩa. Bất cứ ai nghĩ rằng đó là khôn ngoan, tôi muốn họ 'đánh bại!)
Kerri Shotts

Được chứ. Có lẽ bởi vì đó là những gì tôi muốn nghe, tôi không biết, nhưng tôi thích câu trả lời của bạn. : P Âm thanh khá hợp lý, cảm ơn!
dùng541686

1
Không đúng - một tệp trang CÓ THỂ cải thiện hiệu suất, vì vị trí của dữ liệu không được sử dụng trên trao đổi có thể được sử dụng để lưu trữ. Điều này gây ra một downvote như vậy cho bạn.
peterh - Phục hồi Monica

1
Các tập tin trang CÓ THỂ cải thiện hiệu suất. Nó tăng RAM có sẵn cho tất cả các loại bộ đệm nhanh cải thiện hiệu suất khởi động / tải / vận hành chương trình. Không có tệp trang, RAM vật lý quý giá đó sẽ chứa đầy rác không thể xóa được.
Ark-kun

7

Bài viết này của Mark Russinovich sẽ cho bạn biết mọi thứ bạn từng muốn biết về tệp trang.

Tôi không biết liệu "bộ đệm" có phải là thuật ngữ phù hợp để sử dụng đối với những gì tệp trang thực hiện hay không. Bộ đệm là một vị trí tạm thời có thể truy cập nhanh chóng cho dữ liệu. Một hệ điều hành "lỗi" mọi thứ với tệp trang khi có quá nhiều sự tranh chấp đối với RAM vật lý. Vì vậy, đó là một điểm dừng cho tràn RAM để ngăn các chương trình bị hỏng do hết bộ nhớ. Nhưng tôi tin rằng Windows cố gắng đưa những thứ không được truy cập trong một thời gian vào tệp trang (và Linux cũng có thể làm điều này) vì vậy theo nghĩa đó, nó là một bộ đệm, nhưng không thực sự là chức năng chính của nó.

Dù sao, đọc bài viết. Nó sẽ cung cấp cho bạn các hướng dẫn tốt về những gì cần thiết lập trang của bạn. Như @Sandeep Bansal nói, có thể thỉnh thoảng có một trò chơi yêu cầu bạn phải có một phần trong "kiểm tra yêu cầu" để chạy (nhưng tôi không biết về bất kỳ trò chơi nào).

EDIT: Ví dụ này có thể giúp bạn hiểu vai trò của tệp trang:

Giả sử bạn có 512MB RAM. Bạn có một số chương trình đang mở, bao gồm một trình duyệt được tối thiểu hóa tiêu thụ 250 MB RAM và tổng mức sử dụng RAM của mọi thứ đang chạy tại thời điểm đó là 500 MB.

Vì vậy, sau đó, bạn khởi động một chương trình khác (giả sử là trình xử lý văn bản) muốn phân bổ 150 MB RAM. Hết bộ nhớ. Tuy nhiên, nếu chúng ta có một hệ thống phân trang, thì các trang bộ nhớ chứa trình duyệt thu nhỏ của bạn có thể được phân trang ra đĩa. Vì vậy, sau đó chương trình mới có thể tải.

Bây giờ hãy nói rằng bạn muốn quay lại trình duyệt sau một lát. Chà, nó cần "trang vào" những gì nó vừa gửi vào đĩa. Nếu có đủ RAM miễn phí tại thời điểm đó, nó có thể làm điều đó mà không gặp vấn đề gì. Nếu không có, một cái gì đó khác phải được phân loại ra trước. Nếu có rất nhiều chương trình cạnh tranh cho CPU và có phân trang liên tục, thì mọi thứ sẽ chậm lại và bạn có điều kiện được gọi là "đập". Tất cả điều này phân trang vào và ra gây ra hiệu suất chậm hơn, nhưng nó tránh được các chương trình bị "cứng" do lỗi bộ nhớ. Đó là mục đích của tệp hoán trang. Quá nhiều phân trang, tức là "đập" có khả năng không tốt hơn một chương trình chỉ bỏ cuộc vì hầu như không thể nhận thêm RAM trong hầu hết thời gian.

Bây giờ, bạn có thể thấy làm thế nào nếu các thuật toán tồn tại để dự đoán những gì có thể không được sử dụng tại một thời điểm nhất định, thì hệ điều hành có thể "trang trước" những thứ mà nó không nghĩ sẽ được sử dụng ngay lập tức. Vì vậy, tài khoản này cho Windows bằng cách sử dụng tệp trang nơi nó tồn tại ngay cả khi nó có đủ RAM. Nó đang cố gắng tạo ra càng nhiều RAM càng tốt. Windows giống như Linux, nơi RAM miễn phí hoạt động như một bộ đệm đĩa, vì vậy nếu hành động cân bằng được phát đúng, nó có thể đóng góp vào hiệu suất tổng thể. Đây là một phần của thiết kế hệ điều hành và tại sao phải mất 10 năm để có được một hệ điều hành tốt trong số hàng ngàn lập trình viên.

Vì vậy, để thực sự trả lời câu hỏi của bạn, đó là điều duy nhất sai khi vô hiệu hóa tệp trang. Quay trở lại ví dụ tôi đã cung cấp, nếu không có tệp trang, bạn chỉ đơn giản là không thể khởi động trình duyệt của mình hoặc các chương trình được viết kém mà không được lập trình để dự đoán các lỗi OOM có thể thực sự lạ.


@ultrasawblade: Tôi vẫn không hiểu: Điểm của bất kỳ loại "bộ đệm" nào là ngăn chuyến đi vào đĩa . Nếu bạn vẫn đến đó, tại sao không lấy tập tin từ bất cứ nơi nào nó nằm? Điểm của tập tin trang là gì?
dùng541686

@ultrasawblade: Ngoài ra, liên quan đến bài viết: Nó nói , in general having [a page file] will mean more usable memory being available to the system. Đợi đã, cái gì? Thêm bộ nhớ khả dụng? Là> 3 GiB dung lượng RAM không sử dụng vĩnh viễn không đủ? (Nhầm lẫn, vì tôi hiếm khi sử dụng hơn 2 GiB.)
user541686

2
Các tập tin trang KHÔNG phải là bộ đệm! Nếu ram của bạn đã đầy và bạn vẫn muốn đảm bảo rằng hệ thống của bạn vẫn có sẵn ram hơn, thì nó sẽ bắt đầu sao chép dữ liệu từ ram vào đĩa của bạn (từ các quy trình có vẻ buồn ngủ) để bạn vẫn có sẵn ram cho quy trình mới của bạn!
nuốt chửng elysium

2
@ultrasawblade: Sự phản đối mà tôi có đối với chỉnh sửa của bạn là ví dụ của bạn chỉ định mức sử dụng RAM 97% (500/512), trong khi ví dụ của tôi chỉ định mức sử dụng RAM 33% (2 GB trên 6). Tôi đã không hỏi về những gì sẽ xảy ra nếu tôi đến gần giới hạn; Tôi đã nhận thức rõ những vấn đề gây ra. Tôi đã hỏi về những gì sẽ xảy ra nếu bạn vẫn còn một chặng đường dài để đi, nơi mà không có chuyện đập phá hay bất cứ điều gì tương tự sẽ xảy ra (nên?). Nếu bạn có thể đưa ra lập luận tương tự cho trường hợp của tôi (RAM 6 GiB và 2 GiB đang được sử dụng) thì điều đó sẽ tốt hơn rất nhiều; mặt khác, nó chỉ đơn giản là không giải quyết câu hỏi của tôi.
dùng541686

3
+1 cho liên kết Russinovitch. Có câu trả lời. Nếu bạn muốn từ bỏ một cơ chế an toàn để ngăn chặn sự cố có thể xảy ra, đó là nhận thức của bạn. Windows sẽ hoạt động tốt mà không cần tệp trang, trừ khi nó quyết định không. ;)
Kara Marfia

2

Một tệp trang không chỉ dành cho các bãi đổ vỡ được lưu trữ, về cơ bản nó không được tạo ra cho điều đó.

Tệp trang tồn tại để nó có thể lưu trữ dữ liệu mà RAM không cần giữ, nó giống như một bộ đệm cho các mục không cần tồn tại trong bộ nhớ, do đó cung cấp thêm RAM cho những thứ khác.

Bạn đúng rằng bạn có thể không cần tệp trang nếu bạn có 6GB RAM, nhưng bạn có thể cần một tệp trang cho một số mục nhất định, tôi nhớ rằng một vài trò chơi yêu cầu tệp trang và nó cũng có thể hữu ích nếu có.

Không có hại trong việc tạo Tệp trang 500 MB chỉ để tránh sự cố nếu một quy trình nhất định cần.


Nhưng câu hỏi của tôi là: giả sử tôi không bao giờ sử dụng nhiều hơn 2 GiB RAM. Việc kích hoạt pagefile có giúp tôi tăng tốc không? ("Nó không đau" khác với "Có, nó mang lại cho bạn một lợi ích".)
user541686

Vâng, với RAM 6GB, bạn sẽ không nhận thấy điều gì, mặc dù có sẵn RAM, Pagefile sẽ luôn được sử dụng cho những thứ khác. Tôi có 4GB, không bao giờ thực sự vượt lên trên đó. Nhưng tôi có một Pagefile 1GB vừa mới sử dụng, như PC hàng ngày hiện có dung lượng ổ cứng 500 GB +, vì vậy ít nhất 500-1000 MB sẽ không bị mất
Sandeep Bansal

@Sandeep: Hừm ... chính xác thì những "thứ khác" đó là gì? Lý do tôi không bật tệp trang là vì tôi không hiểu tại sao Windows sẽ sử dụng đĩa cứng khi không có nhiều RAM, vì vậy tôi tò mò "những thứ khác" đó là gì.
dùng541686

Nó giống như Linux, tại sao Linux sử dụng không gian hoán đổi khi có RAM để truy cập. Pagefile chứa các tệp không được sử dụng trong một khoảng thời gian cách xa RAM.
Sandeep Bansal

@Sandeep: Tôi không biết tại sao Linux lại làm điều đó, sự khác biệt tương tự đối với tôi. Điểm giữ các tập tin trong pagefile là gì? Nếu chúng không có trong RAM, tại sao bạn không đọc chúng từ bất cứ nơi nào chúng thực sự nằm trên đĩa?
dùng541686

1

Bước đầu tiên là hiểu Cache là gì, hay đúng hơn là các cache khác nhau được sử dụng để làm gì.
CPU có một bộ đệm nhỏ bên trong cho phép nó lưu trữ kết quả OP, trạng thái cờ và địa chỉ được tính toán. Trên lõi kép tôi tin rằng bộ đệm trong là khoảng 1mb. Nó cực kỳ nhanh, chỉ có thể truy cập được bởi các bộ phận bên trong CPU và bị ảnh hưởng nhiều nhất bởi nhiệt trong CPU được ép xung.

Bộ đệm cấp 2 hoạt động như một bộ đệm tốc độ cao cho các giao dịch CPU vào Bộ nhớ và cũng giữ các luồng mã được thu thập bởi prefetch. Trên lõi kép tôi tin rằng một bản cài đặt tyical sẽ có 6mb bộ đệm lvl2. Nó rất nhanh, mặc dù bộ nhớ cache bên trong chậm hơn, chỉ có thể truy cập vào bộ điều khiển bộ nhớ và CPU, và nằm trên một dòng chuyên dụng trên xe buýt.

Một tệp trang thực sự là một bộ đệm, trong đó nó lưu trữ dữ liệu có thể có hoặc không có trong bộ nhớ. Một O / S có thể sử dụng tệp hoán trang cho các tác vụ khác nhau, một trong số đó là lưu trạng thái hiện tại của tệp dữ liệu chưa được cam kết vào đĩa. Khi một pagefile không tồn tại, tùy thuộc vào ứng dụng của bên thứ ba để cung cấp chức năng này trong nội bộ. Vấn đề với kịch bản này là nhiều chương trình không hoạt động tốt khi nói đến bộ sưu tập rác và bạn bị bỏ lại với các tệp .temp giả bị bỏ lại trên đĩa. Những tàn dư này không phải là một phần của bảng kê khai cài đặt và có thể cản trở một quy trình gỡ cài đặt và cũng làm giảm tốc độ truy cập đĩa.

Ý kiến ​​của tôi là một tập tin trao đổi thường là một điều tốt để có. Thật vậy, nếu hệ thống của bạn có nhiều Ram và nó được dành riêng cho 1 nhiệm vụ cụ thể và ứng dụng đó sẽ xử lý tất cả những điều này thì có thể không cần phải trao đổi tệp. Một ví dụ có thể là Trò chơi điện tử Arcade chạy trên nền tảng windows, những trò chơi này thường được cài đặt chỉ với các trình điều khiển cần thiết cho các thiết bị hiện tại và không có khả năng bị tranh chấp trình điều khiển. Đối với hầu hết các phần, mặc dù hầu hết các ứng dụng không quan tâm đến tất cả các vấn đề tiềm ẩn có thể phát sinh và đặc biệt là các vấn đề bao gồm tác động từ các ứng dụng bên thứ ba khác và sự tranh chấp trình điều khiển.

Mặc dù bạn có thể nhận thấy hiệu suất giảm từ thấp đến trung bình trong thời gian ngắn thêm tệp trang, nhưng về lâu dài, hiệu suất sẽ vẫn ổn định. Không có một pagefile có vẻ nhanh hơn lúc đầu, nhưng hiệu suất theo thời gian sẽ giảm đáng kể.

Steven Malm, MCP.


"Khi một pagefile không tồn tại, tùy thuộc vào ứng dụng của bên thứ ba để cung cấp chức năng này trong nội bộ." -> Không hoàn toàn chắc chắn về ý của bạn; các chương trình không thực sự quan tâm nếu có tập tin trang ở đó hay không.
dùng541686

0

Kinh nghiệm cá nhân

Ngay bây giờ máy tính xách tay của tôi có RAM 8GB có vấn đề ngăn chặn việc tạo / sử dụng tệp trang. Cuộc sống của tôi là địa ngục. Tôi liên tục nhận được lời nhắc "Bộ nhớ thấp", ứng dụng bị sập, v.v ... Sử dụng 3 chương trình ăn 1-1,5 GB mỗi lần (giả sử trình duyệt web, Visual studio với các plugin đặc biệt, v.v.) đang đi trên băng mỏng.

Một lập luận khác

Sử dụng dữ liệu từ bộ nhớ cache RAM vật lý rất nhanh. RAM vật lý "miễn phí" càng nhiều thì bạn càng có bộ nhớ cache lớn hơn. Dữ liệu càng không hoạt động, HĐH có thể chuyển từ RAM vật lý sang tệp trang, RAM càng được giải phóng nhiều hơn cho bộ nhớ dữ liệu thường xuyên truy cập.

Giả sử bạn chơi một số trò chơi tải dữ liệu vị trí khi bạn thay đổi vị trí. Bạn cũng có trình duyệt web đang chạy, để lại 2GB cho trò chơi, đủ cho một vị trí. Nếu không có tệp trang, mỗi khi bạn thay đổi vị trí, dữ liệu sẽ được tải chậm từ ổ cứng. Với một tệp trang, dữ liệu trình duyệt web không sử dụng của bạn sẽ được gửi đến tệp trang và RAM vật lý quý giá sẽ được sử dụng để lưu trữ dữ liệu cho một số vị trí dẫn đến tải vị trí nhanh hơn nhiều.

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.