Câu hỏi Làm thế nào tôi có thể giữ một tập tin trong bộ nhớ cache của Windows 7?


Đôi khi bạn biết rõ hơn Windows những tập tin nào sẽ được sử dụng lại sau này. Giả sử bạn có 8GB bộ nhớ và bạn sử dụng cùng một tệp 1 GB mỗi giờ trong ứng dụng I / O-ràng buộc (mất 1 giây để kết thúc nếu tệp được lưu trong bộ nhớ cache và 1 phút nếu không.) Bây giờ bạn xử lý một số 16GB khác dữ liệu sẽ không được sử dụng lại. Đương nhiên, tệp 1GB thường được sử dụng sẽ bị đẩy ra khỏi bộ nhớ cache. Sẽ rất có ích nếu bạn có thể yêu cầu Windows giữ tập tin 1GB đó trong bộ nhớ. (Tốt hơn, nó sẽ là tuyệt vời nếu người ta có thể nói với Windows không để lưu trữ những 16GB dữ liệu, nhưng tôi không lạc quan rằng điều này có thể được thực hiện.)

Tình hình tồi tệ hơn đối với các tập tin trong mạng chia sẻ: Windows loại bỏ các tập tin hình thành bộ nhớ cache ngay cả khi có bộ nhớ miễn phí. Nếu bạn ngay lập tức sử dụng lại một tệp, tệp đó sẽ vẫn ở trong bộ nhớ cache; nhưng nếu bạn đóng tập tin và chờ 30 giây, bộ đệm sẽ biến mất và hệ thống sẽ cần phải tìm nạp lại tệp từ máy chủ từ xa. Đối với tôi, điều này là rất đáng chú ý vì tôi đang ở trên một liên kết mạng 3 Mbps và tôi làm việc với các tệp có kích thước khoảng 10 MB.

Cách của người đàn ông nghèo để giữ một tập tin trong bộ nhớ cache sẽ là để tiếp tục đọc các tập tin. Có cách nào tốt hơn không? Bạn có biết bất kỳ chương trình nào thực hiện việc này không?

(Nếu điều này có thể dễ dàng thực hiện dưới Linux, hãy cho tôi biết.)


6
2018-04-17 03:23


gốc




Các câu trả lời:


Hai điều nảy sinh trong đầu bạn.

  1. Sao chép tệp vào RamDisk trước khi sử dụng lần đầu tiên và chuyển nó trở lại tệp khi bạn hoàn thành nó. (RamSoft của QSoft cho $ 12 được khuyến nghị đây)
  2. Mua nhanh Ổ SSD và xem điều đó có giúp (đủ) không

3
2018-04-17 10:55



Vì vậy, không có cách nào để yêu cầu Windows giữ một số tệp trong bộ nhớ cache của đĩa, ví dụ: khuôn khổ .Net? - OverTheRainbow
OverTheRainbow: Không, không có. Các chương trình này truy cập các tệp này bằng cách nào? MapViewOfFile hoặc ReadFile / WriteFile truyền thống (ugh)? - Jamie Hanrahan


Điều này là có thể với một số loại, ví dụ dll:

Windows lưu trữ một tập hợp các dll thường được sử dụng, đây là những 'DLL đã biết'. Để giữ một tập tin dll lưu trữ nó sẽ chỉ cần là một phần của bộ đó.


0
2018-01-05 17:38



OP không hỏi về các DLL đã biết - pun
Trên thực tế, OP không cụ thể về loại tệp mà anh ta đang nói đến, mặc dù các tham chiếu đến "dữ liệu", chia sẻ mạng và Linux dường như loại trừ khả năng anh ta hỏi về các tệp DLL. (Và bây giờ tôi sẽ có những cơn ác mộng về một tệp DLL 1GB.) - Scott