Ý tưởng cơ bản ở đây có lẽ không tệ (chỉ rất ngây thơ và sai lệch): Có thể có các tệp được lưu trong bộ nhớ cache, rất khó có thể được truy cập trong tương lai gần, ví dụ như logfiles. Những ram "ăn hết" này, sau này sẽ phải được giải phóng khi cần thiết bởi HĐH bằng cách này hay cách khác.
Tùy thuộc vào cài đặt của bạn về swappiness, mẫu truy cập tệp, mẫu cấp phát bộ nhớ và nhiều thứ không thể đoán trước hơn, có thể xảy ra rằng khi bạn không giải phóng các bộ đệm này, chúng sẽ bị buộc phải sử dụng lại, mất nhiều thời gian hơn một chút cấp phát bộ nhớ từ nhóm bộ nhớ không sử dụng. Trong trường hợp xấu nhất, các cài đặt swappiness của linux sẽ khiến bộ nhớ chương trình bị tráo đổi, bởi vì linux nghĩ rằng các tệp đó có thể sẽ được sử dụng trong tương lai gần hơn bộ nhớ chương trình.
Trong môi trường của tôi, linux đoán khá thường xuyên sai và khi bắt đầu hầu hết các sàn giao dịch chứng khoán châu Âu (khoảng 0900 giờ địa phương), các máy chủ sẽ bắt đầu làm những việc mà họ chỉ làm một lần mỗi ngày, cần trao đổi trong bộ nhớ đã bị tráo đổi vì viết logfiles, nén chúng, sao chép chúng, v.v. đang lấp đầy bộ đệm đến mức mọi thứ phải được hoán đổi.
Nhưng liệu thả bộ đệm là giải pháp cho vấn đề này? chắc chắn không. Điều gì sẽ là giải pháp ở đây là nói với linux những gì nó không biết: những tệp này có thể sẽ không được sử dụng nữa. Điều này có thể được thực hiện bởi ứng dụng viết bằng cách sử dụng những thứ như posix_fadvise()
hoặc sử dụng công cụ dòng cmd như vmtouch
(cũng có thể được sử dụng để xem xét mọi thứ cũng như các tệp bộ đệm).
Bằng cách đó, bạn có thể xóa dữ liệu không cần thiết nữa khỏi bộ đệm và giữ những thứ cần lưu trong bộ nhớ cache, bởi vì khi bạn bỏ tất cả bộ nhớ cache, rất nhiều thứ phải đọc lại từ đĩa. Và rằng tại thời điểm tồi tệ nhất có thể: khi cần thiết; gây ra sự chậm trễ trong ứng dụng của bạn đáng chú ý và thường không được chấp nhận.
Những gì bạn nên có là một hệ thống theo dõi các kiểu sử dụng bộ nhớ của bạn (ví dụ nếu có thứ gì đó đang tráo đổi) và sau đó phân tích tương ứng và hành động tương ứng. Giải pháp có thể là đuổi một số tệp lớn vào cuối ngày bằng vtouch; nó cũng có thể là để thêm nhiều ram hơn bởi vì việc sử dụng máy chủ tối đa hàng ngày chỉ là như vậy.