Tại sao Windows 7 sử dụng tệp trang khi có RAM vật lý miễn phí?


43

Tôi đang sử dụng Windows 7 64 bit với ram 8G. Sau một số lần sử dụng, tôi cảm thấy Windows đang trở nên chậm chạp. Các ổ đĩa đang đập. Khi tôi nhìn vào trình giám sát tài nguyên và hoạt động của đĩa, tôi thấy một vài trường hợp sử dụng tệp trang (c: \ pagefile.sys). Tôi kiểm tra bộ nhớ vật lý và tôi thấy khoảng 2,3G bộ nhớ khả dụng và 700M memroy miễn phí.

Tại sao Windows không sử dụng nhiều bộ nhớ trống và ít tệp trang hơn? Có cần phải để lại một lượng x ram miễn phí không, bao nhiêu? Đây có phải là một tỷ lệ phần trăm của ram vật lý?

Kế hoạch của tôi là nhận thêm ram và ổ SSD cho ổ đĩa chính. Trong khi đó tôi đang bị hiệu suất chậm.


1
Chỉ vì nó đang ghi / đọc vào tệp trang không có nghĩa là chúng tôi sử dụng nó, nó có thể chỉ đang cập nhật nó để nó có thể kết xuất bộ nhớ nhanh hơn nếu có nhu cầu đột ngột. Tôi khuyên bạn nên chạy màn hình hiệu suất hoặc thực hiện chẩn đoán sâu và xem điều gì gây ra sự chậm chạp.
Scott Chamberlain

Có hơn 8GB RAM sẽ không tăng hiệu suất trong 99. (9)% trường hợp. Bạn đã nhồi đầy mobo của mình với các chip RAM tần số thấp / độ trễ cao giá rẻ chưa? Thay thế chúng sẽ là một ý tưởng tốt hơn so với việc thêm nhiều hơn.
kotekzot

3
@kotekzot Điều đó phụ thuộc. Nhìn chung, tôi thấy độ trễ RAM là không đáng kể trong hầu hết các tắc nghẽn. Nếu anh ta có đủ bộ nhớ mà anh ta không phải chờ đợi các ứng dụng được phân trang khi anh ta lướt qua tất cả chúng, thì nút cổ chai lớn nhất tiếp theo bởi một số đơn đặt hàng cường độ gần như luôn luôn là ổ cứng và SSD sẽ khắc phục đúng lên.
Darth Android

@if Tôi có nhiều ram hơn, tôi có thể đặt tệp trang vào một ramdisk nhanh hơn nhiều so với truy cập HD. Đó là một mức độ máy trạm máy tính xách tay Dell vì vậy tôi chắc chắn các thành phần không rẻ. Tôi biết rằng máy tính xách tay có ổ cứng chậm hơn và hệ thống phụ IO so với máy tính để bàn.
Tony_Henrich

1
Vui lòng không đặt tệp trang của bạn trên RAMdisk. Điều đó sẽ chỉ làm cho hệ thống phát sinh thêm lỗi trang. Có, nếu họ truy cập vào trang web trên RAMdisk, họ sẽ được giải quyết nhanh hơn so với việc họ đã chuyển sang đĩa thực, nhưng hoàn toàn không có chúng vẫn nhanh hơn nhiều; Ngoài ra, nhiều lỗi trang tăng lên sẽ là các tệp được ánh xạ và những lỗi đó sẽ không được RAMdisk giúp đỡ.
Jamie Hanrahan

Câu trả lời:


33

Đầu tiên, không đặt tệp trang của bạn trên ổ SSD. Mặc dù SSD đã trở nên tốt hơn về mức độ hao mòn, nhưng tệp trang được ghi thường xuyên và nó sẽ làm giảm SSD của bạn nhanh hơn nhiều so với sử dụng thông thường.

Điều mà nhiều người không hiểu là cửa sổ không bao giờ thực sự có bộ nhớ trống. Có một vài MB được giữ miễn phí cho các nhu cầu bùng nổ, nhưng mặt khác, sự khác biệt giữa bộ nhớ ứng dụng đang sử dụng tích cực và tổng bộ nhớ thường được sử dụng bởi cái gọi là bộ nhớ "dự phòng".

Bộ nhớ hệ thống

Đây là những trang bộ nhớ có thể được kết xuất nếu cần (bộ nhớ dự phòng là bộ nhớ cache lớn, tuyệt vời), do đó, theo quan điểm của ứng dụng, nó có sẵn, nhưng chúng không được sử dụng. Thông thường, chúng hoạt động như bộ đệm đĩa hoặc bộ đệm trang.

Mục tiêu của Windows là giữ cho dữ liệu có khả năng được sử dụng nhiều nhất trong bộ đệm dự phòng này, dựa trên các mẫu sử dụng. Để sử dụng một ví dụ giả định, hãy so sánh giá trị tương đối của bộ nhớ riêng của một chương trình như Windows Update (thường được cấu hình để chạy mỗi tuần một lần), qua bộ nhớ đệm nội dung của máy tính để bàn của bạn trong bộ nhớ chờ này:

Trong phần lớn thời gian, Windows Update đang ngủ. Đó là việc giữ bộ nhớ và phần lớn, hoàn toàn không có giá trị gì với nó trong khi chờ đợi lịch trình diễn ra. Mặt khác, nội dung của thư mục máy tính để bàn của bạn có thể được truy vấn liên tục, đặc biệt nếu bạn muốn lưu tệp vào đó.

Trong trường hợp này, những gì Windows sẽ làm là loại bỏ bộ nhớ được phân bổ cho Windows Update (mặc dù bộ nhớ không "đầy" và sử dụng không gian có sẵn trong RAM để lưu trữ nội dung trên máy tính để bàn của bạn. bạn.

Windows đang đưa ra hàng ngàn quyết định này và quản lý bộ đệm đĩa cho hàng trăm tệp liên tục được ghi bởi các dịch vụ nền trong khi cố gắng cân bằng điều này với nhu cầu bộ nhớ của các ứng dụng đang hoạt động. Đôi khi nó bị lỗi trong giây lát và chúng ta có thể phải đợi dữ liệu trở lại trang dữ liệu khi chúng ta chuyển sang một ứng dụng đang ngủ trong nền trong một thời gian. Nhưng điều bạn phải suy nghĩ là nếu nó giữ ứng dụng đó hoàn toàn trong bộ nhớ, thì có bao nhiêu ứng dụng khác sẽ bị sa lầy trong khi chờ đĩa ghi và đọc xong, hoặc chính chúng bị buộc phải thoát ra? Nếu đó là những ứng dụng bạn đang sử dụng trong thời gian này thì sao?


Các ứng dụng thường phân bổ các trang bộ nhớ được sử dụng rất hiếm khi, chẳng hạn như mã khởi động (được sử dụng một lần và sau đó không cần thiết), mã tắt (sử dụng một lần và sau đó không cần thiết) hoặc cập nhật mã. Sẽ không thực tế khi giữ tất cả những thứ này trong bộ nhớ khi có những sử dụng quan trọng hơn nhiều, vì vậy một khi Windows xác định các phần mã không cần thiết cho hoạt động hiện tại của một ứng dụng, nó sẽ vui vẻ đưa các phần đó vào trangfile, ngay cả khi về mặt kỹ thuật nó có thể giữ chúng trong bộ nhớ.

(Và trên thực tế, tùy thuộc vào các ứng dụng, các hệ thống có thể thường xuyên phân bổ bộ nhớ nhiều hơn so với thực tế, hy vọng phần lớn sẽ được giải quyết. Nếu bạn đang xem xét sự cố bộ nhớ chi tiết, hãy tính phí "Cam kết" hoặc "Cam kết" là bao nhiêu bộ nhớ Windows đã phân bổ cho các ứng dụng khác nhau. Trang này được sử dụng để đảm bảo cho bộ nhớ này, ngay cả khi nó không có đủ RAM vật lý để che nó.)


Tôi chỉ nhận thấy bạn đã phân biệt giữa bộ nhớ có sẵn và bộ nhớ trống trong câu hỏi của bạn; Tôi xin lỗi nếu bạn cảm thấy được giảng dạy và đã biết sự khác biệt. Lý tưởng nhất, bộ nhớ trống luôn là 0. Tuy nhiên, trong khi bộ nhớ dự phòng là bộ nhớ có thể được giải phóng, không phải lúc nào bộ nhớ cũng có thể được giải phóng nhanh chóng. Nếu tôi cố ghi một tệp 1GB vào đĩa, các cửa sổ sẽ dán nó vào bộ đệm đĩa trong bộ nhớ nếu có thể, sau đó từ từ ghi nó ra ổ cứng trong nền. Nếu một ứng dụng cần yêu cầu thêm 50 MB bộ nhớ, nhưng không có sẵn vì bộ đệm đĩa khổng lồ này vẫn đang bị xóa, thì ứng dụng sẽ bị treo cho đến khi có sẵn. Giữ một bộ đệm nhỏ trên tay cho phép hệ thống giải quyết vấn đề này với độ trễ tối thiểu từ quan điểm của người dùng.


6
@FrankComputer Xem ảnh chụp màn hình tôi đã đăng cho hệ thống làm việc 8GB của mình: đang sử dụng 6300 MB, đĩa / bộ đệm dự phòng 1700 MB, miễn phí 42 MB. Nhìn vào hệ thống nhà của tôi (bộ nhớ 32 GB), bạn thực sự đúng, nhưng chỉ ở ngưỡng sai: sử dụng 9,2 GB, bộ đệm đĩa 14,5 GB, miễn phí 8,6 GB. Bạn sẽ có bộ nhớ trống nếu windows chỉ đơn giản là hết bộ nhớ cache, nhưng ngưỡng đó khá cao. Windows không liên tục hoán đổi vì bộ đệm đĩa không phải là không gian trao đổi - nó được lưu trữ thụ động khi các tệp được yêu cầu và không có trong bộ đệm. Bạn không nhận thấy thời gian nó lấy từ bộ đệm và không có hoạt động của ổ cứng.
Darth Android

8
@FrankComputer: Nếu hệ thống của bạn hoạt động tốt, đó không phải là do bộ nhớ trống. Bộ nhớ trống là bộ nhớ mà hệ thống không sử dụng và nó có thể không ảnh hưởng nhiều đến hiệu năng hơn bộ nhớ ngồi trên bàn của bạn. Cách duy nhất để cải thiện hiệu suất với bộ nhớ là sử dụng nó, vì vậy nếu nó miễn phí, nó không được sử dụng để cải thiện hiệu suất. Làm cho nhiều bộ nhớ hơn có nghĩa là sử dụng ít hơn, làm cho hiệu suất kém hơn.
David Schwartz

1
@Tony_Henrich Vô hiệu hóa tệp trang là xấu. Rất tệ. (Di chuyển tệp trang sang ramdisk có hiệu quả tương tự như vô hiệu hóa nó. Windows không thể di chuyển dữ liệu mà nó không cần ngay lập tức ra khỏi bộ nhớ). Nhiều chương trình yêu cầu bộ nhớ mà họ không cần ngay lập tức, nhưng có thể cần trong tương lai. Thông thường, các cửa sổ phân bổ bộ nhớ này trên tệp trang và nó không làm gì cả. Ví dụ. Máy chủ MSSQL phân bổ 8GB ram khi khởi động. Ngay cả đối với cơ sở dữ liệu 0. Chỉ vì. Nếu bạn đặt tệp trang của mình lên một đĩa RAM, bạn sẽ lãng phí một lượng RAM đáng kể có thể được sử dụng cho bộ nhớ cache
Darth Android

1
@Tony_Henrich Hiện tại, các cửa sổ đang quản lý tối ưu tệp trang và RAM của bạn, dựa trên cách bạn sử dụng hệ thống của mình. Những cải tiến duy nhất bạn có thể thực hiện dựa trên nó là: Thêm bộ nhớ hoặc chuyển hệ điều hành của bạn sang ổ SSD. Lộn xộn với tệp trang của bạn sẽ làm giảm hiệu suất hệ thống tổng thể của bạn ở mức tốt nhất hoặc ảnh hưởng đến sự ổn định hệ thống của bạn ở mức tồi tệ nhất.
Darth Android

1
Bạn đang giải thích những gì Windows làm với bộ nhớ. Nếu tôi có nhiều bộ nhớ trống thì Windows nên sử dụng nó, bất kể ứng dụng đang ngủ hay không làm gì. Điều gì có hại trong việc giữ nó trong bộ nhớ khi bộ nhớ có sẵn. Khi bộ nhớ xuống thấp, Windows có thể sử dụng nếu tệp trang. Sử dụng tập tin trang gây ra hao mòn trên ổ đĩa. Không có sự hao mòn trong việc sử dụng bộ nhớ. Thứ hai, tôi sử dụng ổ SSD cho tập tin trang của mình. Mặc dù cuộc sống của SSD nhỏ hơn so với ổ cứng và sau đó có rất nhiều chữ viết, nhưng điều đó vẫn không đến một vài tháng. Nó vẫn còn trong nhiều năm.
Tony_Henrich

4

Nó được gọi là kế hoạch trước.

Viết các trang bộ nhớ vào pagefile khi vẫn còn nhiều RAM là một điều tốt. Ngay khi một chương trình yêu cầu nhiều bộ nhớ hơn là có sẵn, HĐH có thể bắt đầu dọn sạch không gian càng sớm càng tốt. Tốt hơn để chuẩn bị bây giờ hơn sau này.

Nếu hệ điều hành phải chờ đợi, thì bạn sẽ gặp phải một nút cổ chai hiệu năng. Nếu một chương trình yêu cầu nhiều bộ nhớ hơn khả dụng, bây giờ bạn phải đợi cho đến khi HĐH ghi ra khối bộ nhớ đã thay đổi, và sau đó giải phóng chúng.


Với 16G + và với các chương trình nhẹ, thời gian khi chương trình yêu cầu nhiều bộ nhớ hơn mức miễn phí ít hơn nhiều so với việc sử dụng tệp trang thường xuyên. Vì vậy, đối với những trường hợp đó, tốt hơn là sử dụng một số bộ nhớ trống và ít tệp của trang. Không có một giải pháp nào phù hợp với tất cả các trường hợp.
Tony_Henrich

1
Tôi không nghĩ bạn có được nó. Nó không phải là cái này hay cái khác. Windows có thể ghi vào bộ nhớ trống ghi vào tệp trang. Nó không giống như ghi vào tệp trang hoặc ghi vào bộ nhớ.
Surfasb

1
Nhưng bằng cách cố gắng lên kế hoạch trước, không phải Windows có khả năng lấp đầy bộ nhớ cache trên chip của HDD / SDD khiến cho hoạt động ghi / tải tệp đồng thời chậm hơn? Việc tráo đổi bộ nhớ RAM này nghe có vẻ là một ý tưởng hay, nhưng có vẻ như nó tình cờ đặt tải lên hệ thống vào thời điểm xấu.
binki

1
@binki: Vâng, nó can thiệp vào thời gian đọc / ghi đĩa, nhưng nếu tôi nhớ lại, họ đang sử dụng mức độ ưu tiên thấp hơn, vì vậy, việc đọc-ghi khác nên đi trước nói chung.
Vịt Mooing


2

Tôi đã tắt tập tin trang trong 7 năm qua. Trên thực tế, đó là điều đầu tiên tôi làm sau khi cài đặt mới. Không bao giờ có bất kỳ vấn đề với nó. (Trên thực tế tôi đã có một trò chơi gọi là "nhiệm vụ titan" đã thực hiện một kiểm tra rất ngu ngốc khi khởi động nên tôi đã tạo ra một trang 4 MB chỉ để làm cho nó vui và tắt PF sau đó). Đối với câu hỏi ban đầu. Windows sử dụng RAM của chúng tôi cho bộ đệm I / O bộ đệm. Vì một số lý do, nó nghĩ rằng bộ đệm đĩa cũng quan trọng không kém đối với mã và dữ liệu chương trình đang hoạt động. Và không có cách nào để giới hạn kích thước bộ đệm đĩa. Nó ở đó theo thiết kế và chúng tôi không thể làm bất cứ điều gì về nó ... Oh, đợi đã! Chúng ta có thể! Chỉ cần tắt pagefile. Chạy các ứng dụng nặng về RAM? Mua thêm RAM hoặc đóng một ứng dụng trước khi khởi chạy ứng dụng khác. Bạn có thể sử dụng Process Explorer để xem dung lượng bộ nhớ được sử dụng tại bất kỳ thời điểm nào.


1
Loại bỏ pagefile sẽ không tắt bộ nhớ đệm đĩa.
Jamie Hanrahan

1
Bạn đã viết: "[Bộ nhớ đệm đĩa] có ở đó theo thiết kế và chúng tôi không thể làm bất cứ điều gì về nó. Đợi đã! Chúng tôi có thể! Chỉ cần tắt trang web." Chà, tắt trangfile không làm gì về bộ đệm đĩa, vậy bạn đang nói gì? Dù sao đó cũng là một ý tưởng ngu ngốc, vì nó buộc HĐH phải giữ tất cả các cam kết riêng tư trong RAM mãi mãi khi nó được chạm vào. Điều này làm cho không gian trống cho bộ nhớ ảo được ánh xạ (như mã), do đó các công cụ phải được phân trang nhiều hơn. Bộ đệm đĩa chủ động (superfetch) sử dụng những gì còn sót lại sau tất cả những điều trên, do đó, nó không làm tăng phân trang.
Jamie Hanrahan

1
Tôi chưa bao giờ nói (hoặc nghĩ) rằng tắt trang này là ý tưởng của bạn, vì vậy tôi không nói gì về "ý tưởng của bạn". Ồ, trong khi tôi ở đây: "Vì một số lý do [Windows] cho rằng bộ đệm đĩa cũng quan trọng không kém đối với mã và dữ liệu chương trình đang hoạt động" là hoàn toàn sai. Superfetch chỉ sử dụng các trang trong danh sách Chờ và do đó đã là một phần của " có sẵn "RAM; nó không lấy các trang từ mã và dữ liệu của chương trình. Và các trang đó vẫn có sẵn, tức là có sẵn ngay lập tức cho mã và dữ liệu của chương trình, ngay cả sau khi chúng chứa dữ liệu được lưu trong bộ nhớ cache từ các tệp.
Jamie Hanrahan

1
Tôi không nói bất cứ điều gì thuộc loại này. (Bạn đang lấy cái này ở đâu?) Tuy nhiên, tôi đang nói rằng Windows không bao giờ trang ra bất cứ thứ gì để nhường chỗ cho bộ đệm đĩa. Ngược lại, bộ đệm sử dụng các trang hiện không phải là một phần của quy trình và do đó sẽ bị lãng phí. RAM còn lại như ngay lập tức có sẵn để mã và dữ liệu cần nó cho phân trang thứ trong , vì vậy nó không phải là "sử dụng hết" bởi bộ nhớ cache, chỉ đơn thuần là "mượn". Vì vậy, bộ đệm không làm giảm số lượng mã và dữ liệu có thể được phân trang hoặc giữ trong RAM. Tham chiếu: Windows Internals của Solomon, Russinovich và Ionescu.
Jamie Hanrahan

1
Tôi đã trả lời câu trả lời của DA. Nhưng những gì bạn vừa nói không phải là những gì anh ấy nói. Ông nói rằng Windows sẽ đưa ra các quy trình không hoạt động lâu dài (đúng). Và ông cũng nói rằng bộ đệm đĩa có thể sử dụng các trang được giải phóng qua đó (cũng đúng). Nhưng điều đó không có nghĩa là bộ đệm đĩa nhất thiết phải được ưu tiên. Bộ đệm đĩa chỉ sử dụng các trang đó nếu không có gì khác có mức độ ưu tiên cao hơn cần chúng. Một lượng lớn thử nghiệm đã chứng minh rằng đây là một sự đánh đổi tốt.
Jamie Hanrahan

1

Các đối số ( ở đâyở đây ) để giữ và sử dụng tệp trang ngay cả khi có đủ RAM là:

  • Ngay cả khi có bộ nhớ trống bây giờ, máy có thể hết bộ nhớ sau này. Tốt hơn là bỏ ít bộ phận sử dụng của bộ nhớ vào đĩa trước.
  • Ngoài ra còn có bộ nhớ "dự phòng" xuất hiện dưới dạng miễn phí nhưng thực sự được sử dụng cho bộ nhớ đệm trên đĩa. Nó cũng quan trọng đối với hiệu suất, tốt hơn để có một số.
  • Nếu bạn hết RAM với tập tin trang bị vô hiệu hóa, đó là sự cố nghiêm trọng.
  • Mặc dù 2, 4, 16 hoặc bất kỳ số Gb RAM nào khác có thể trông giống như "rất nhiều", nhưng điều này có thể không đúng như bạn tin. Bạn cần hồ sơ.

Với trình giám sát tài nguyên Windows, có thể thấy dung lượng RAM được sử dụng cho bộ nhớ đệm (hiển thị là "Chờ").

Nếu bạn thấy rằng RAM của bạn thực sự được sử dụng hoặc ở chế độ chờ, tệp trang sẽ hữu ích cho bạn. Nếu sự kết hợp giữa các tác vụ của bạn và RAM khả dụng là một phần đáng kể của bộ nhớ hiển thị là không sử dụng ("Miễn phí"), tôi nghĩ rằng không cần phải mài ổ cứng chỉ từ việc tôn trọng ai đó "biết rõ hơn và nói như vậy ở đây ".


-2

Tất cả những ý kiến ​​và câu trả lời chính xác là thiếu. TẮT tập tin trang của bạn. Nó không cần thiết với RAM 8GB và nếu bạn cần thêm RAM, hãy mua nó. khá đơn giản thực sự.


4
Windows khá thông minh trong việc xác định những gì (không) để đặt trong tệp trang. Ngoại trừ một số tình huống gần như hoàn toàn là lý thuyết, tắt nó sẽ gây hại cho hiệu năng, ngay cả với RAM 8 GB. Ngay cả khi câu trả lời đúng bị thiếu, đây chắc chắn không phải là nó.
Marcks Thomas

4
Có bằng chứng nào để sao lưu yêu cầu "gây hại" của bạn không? Tôi trình bày một bài viết MS support.microsoft.com/kb/889654
a2552308

6
Nói một cách đơn giản: các tệp trang chỉ có thể tăng hoạt động của đĩa ... và các cửa sổ không đủ thông minh để không sử dụng nó nếu nó có nhiều RAM. Trên hệ thống SSD, điều này có thể không quá đáng chú ý, trên hệ thống trục chính điều này có thể ảnh hưởng rất nhiều đến hiệu suất ứng dụng. Tham khảo poster gốc.
a2552308

2
Phần có liên quan từ bài viết của MS: "Tuy nhiên, khi thêm RAM vào máy tính, nhu cầu về tệp trang sẽ giảm. Nếu bạn có đủ RAM được cài đặt trong máy tính của mình, bạn hoàn toàn không cần phải có tệp trang, trừ khi bắt buộc phải có tệp trang bởi một ứng dụng cụ thể. " Tôi không thể tìm thấy các phần có liên quan từ nhiều bài viết bạn liên kết, có lẽ bạn có thể trích dẫn các phần có liên quan?
a2552308

2
Nghe có vẻ tốt trong lý thuyết, không phải những gì tôi đã quan sát trong thực tế.
a2552308
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.