2

Я запускаю watch free и затем наблюдаю непрерывное увеличение используемой памяти, примерно 100 каждые 2 с. Как я могу узнать, какой процесс способствует увеличению объема используемой памяти?

top и pmap не помогают.

Кстати, после того, как я запустил echo 1 > /proc/sys/VM/drop_caches , используемая память резко сократилась. Но он продолжает расти с той же скоростью.

1 ответ1

0

Я бы использовал top и нажал shift-m для сортировки по памяти. Если в приложении происходит утечка памяти, значение % MEM должно увеличиваться, а число в столбце RES должно увеличиваться.

Над списком процессов, если ваше свободное место падает, но буферы и кеш увеличиваются, а приложения в списке примерно одинаковы, тогда у вас все будет хорошо. Это просто означает, что Linux использует вашу свободную оперативную память, чтобы избежать попадания на жесткий диск, и поэтому он может работать быстрее. Если вы по-прежнему беспокоитесь об этом, откройте кучу приложений, и Linux должен уменьшить, сколько места он использует для кеша и буферов, так как свободное число приближается к 0.

Когда вы указываете это drop_caches, Linux, вероятно, должен перечитать ту же самую область жесткого диска, на которой он только что был кэширован, и повторно кэшировать ее. Возможно, мы сможем выяснить, как ограничить размер кэша, если вы действительно этого хотите, но Linux использует вашу неиспользуемую оперативную память для ускорения работы. Если это не ноутбук и вы не пытаетесь экономить электроэнергию, вы хотите, чтобы он использовал вашу оперативную память, чтобы он работал быстро.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .