Tôi đang viết rất nhiều dữ liệu sẽ không được đọc lại trong nhiều tuần - vì chương trình của tôi chạy lượng bộ nhớ trống trên máy (được hiển thị với 'miễn phí' hoặc 'trên cùng') giảm rất nhanh, dung lượng bộ nhớ mà ứng dụng của tôi sử dụng không tăng - cũng không phải lượng bộ nhớ được sử dụng bởi các quy trình khác.I/O không được lọc trong Linux
Điều này khiến tôi tin rằng bộ nhớ đang bị bộ nhớ cache sử dụng bởi vì tôi không có ý định đọc dữ liệu này trong một thời gian dài. đĩa. Tôi không có ước mơ cải thiện perf hoặc là một ninja siêu, hy vọng của tôi là đưa ra một gợi ý cho hệ thống tập tin mà tôi sẽ không trở lại cho bộ nhớ này bất cứ lúc nào sớm, vì vậy không dành thời gian tối ưu hóa cho những trường hợp.
Trên Windows, tôi đã gặp phải sự cố tương tự và khắc phục sự cố bằng FILE_FLAG_NO_BUFFERING | FILE_FLAG_WRITE_THROUGH - bộ nhớ máy không được ứng dụng của tôi tiêu thụ và máy có thể sử dụng được nhiều hơn nói chung. Tôi hy vọng sẽ lặp lại những cải tiến mà tôi đã thấy nhưng trên Linux. Trên Windows có sự hạn chế bằng văn bản trong các phần có kích thước theo ngành, tôi hài lòng với giới hạn này đối với số tiền đạt được mà tôi đã đo được.
có cách tương tự để thực hiện việc này trong Linux không?
nó chỉ là một vấn đề bởi vì có hiệu lực là bộ nhớ cache đang được sử dụng cho thứ gì đó sẽ không bao giờ được sử dụng. Bộ nhớ cache được lấy từ những người khác có thể sử dụng và tôi thấy tăng I/O. – stuck