В моей системе Linux я обнаружил, что свободная память постоянно уменьшается. free -m
чтобы получить размер свободной памяти.
Но после того, как я выполню
echo 3 > /proc/sys/vm/drop_caches
размер свободной памяти вернулся к нормальному значению.
Я знаю, что эта команда используется для освобождения кэша страниц, dentries и inodes.
Но есть ли способ узнать, какое приложение кэшировало данные и какие данные я освободил?
Краткий ответ: нет.
Немного более длинный ответ заключается в том, что кеши, которые вы освобождаете при записи в / proc / sys / vm / drop_caches, на самом деле не связаны с приложениями. Они создаются ядром и различными подсистемами ядра (обычно подсистемами vm, block и fs), которые не имеют реального представления о приложениях.
Хорошая новость заключается в том, что при нормальном использовании вам вообще не нужно беспокоиться о них, поскольку ядро будет пытаться кэшировать как можно больше в каждой ситуации, если только ему явно не сказано не делать этого, а затем сбросить кеш, как только это потребуется. память на что-то другое.