Основна ідея тут, мабуть, не така вже й погана (просто дуже наївна і вводить в оману): Можуть бути кешовані файли, до яких навряд чи можна отримати доступ найближчим часом, наприклад, реєстраційні файли. Ці барани "з'їдають", які пізніше доведеться звільняти при необхідності ОС тим чи іншим чином.
Залежно від ваших налаштувань простоти, схеми доступу до файлів, схеми розподілу пам’яті та багатьох інших непередбачуваних речей, може статися, що коли ви не будете звільняти ці кеші, вони згодом будуть змушені повторно використовуватися, що займе трохи більше часу, ніж виділення пам'яті з пула невикористаної пам'яті. У гіршому випадку налаштування простоти в Linux спричинить заміну пам'яті програми, оскільки Linux вважає, що ці файли можуть бути скоріше використані найближчим часом, ніж пам'ять програми.
У моєму середовищі Linux часто здогадується неправильно, і на початку більшості європейських фондових бірж (близько 09:00 за місцевим часом) сервери почнуть робити те, що вони роблять лише один раз на день, потребуючи обміну пам’яттю, яка раніше була замінена через те, що пишуть журнали, стискаючи їх, копіюючи їх тощо, заповнювали кеш до того моменту, коли речі потрібно було замінити.
Але чи відмова кешів вирішує цю проблему? однозначно ні. Що б тут було рішення - сказати Linux, що він не знає: ці файли, ймовірно, більше не будуть використовуватися. Це можна зробити за допомогою програми для написання, використовуючи такі речі, як posix_fadvise()
інструмент cmd line vmtouch
(наприклад, який також можна використовувати для перегляду речей, а також файлів кешу).
Таким чином ви можете видалити дані, які більше не потрібні з кеш-пам'яті, і зберегти ті матеріали, які слід кешувати, тому що, коли ви скидаєте всі кеші, багато чого потрібно перечитати з диска. І це в найгірший можливий момент: коли це потрібно; спричиняючи затримки у вашій програмі, помітні і часто неприйнятні.
Що вам слід створити - це система, яка моніторить ваші шаблони використання пам'яті (наприклад, якщо щось змінюється), а потім аналізує їх відповідно і діє відповідно. Рішенням може бути виселення великих файлів наприкінці дня за допомогою vtouch; можливо також додати більше оперативної пам’яті, оскільки щоденне пікове використання сервера - це саме те.