Назад | Перейти на главную страницу

в Linux есть ли способ (инструменты) узнать, какое приложение кэширует данные и что это за данные?

В моей системе Linux я обнаружил, что свободная память постоянно уменьшается. free -m чтобы получить размер свободной памяти.

Но после того, как я выполню

echo 3 > /proc/sys/vm/drop_caches

размер свободной памяти вернулся к нормальному значению.

Я знаю, что эта команда используется для освобождения кэша страниц, dentries и inodes.

Но есть ли способ узнать, какое приложение кэшировало данные и какие данные я освободил?

Краткий ответ: нет.

Немного более длинный ответ заключается в том, что кеши, которые вы освобождаете при записи в / proc / sys / vm / drop_caches, на самом деле не связаны с приложениями. Они создаются ядром и различными подсистемами ядра (обычно подсистемами vm, block и fs), которые не имеют реального представления о приложениях.

Хорошая новость заключается в том, что при нормальном использовании вам вообще не нужно беспокоиться о них, поскольку ядро ​​будет пытаться кэшировать как можно больше в каждой ситуации, если только ему явно не сказано не делать этого, а затем сбросить кеш, как только это потребуется. память на что-то другое.