Как мне очистить или отключить кэш памяти?

После запуска системы через несколько минут мой кэш памяти заполняется, и он начинает использовать подкачку. Вот скриншот файла /proc/meminfo.

memory

Однако, если я смогу отключить этот процесс / очистить кэш один раз после этого, я думаю, что моя система в некоторой степени ускорится. Поправьте меня, если я здесь ошибаюсь.

Я также пробовал очистку памяти Bleachbit, но, похоже, она не очищает кэш памяти должным образом. Кроме того, эта функция все еще находится в стадии эксперимента.

bleachbit memory

Здесь уже был опубликован аналогичный вопрос: Как я могу отключить кэш предварительной выборки?, но это касалось сервера Ubuntu, а также ответов, связанных с ручными настройками и т.д.

Итак, я хочу знать, есть ли какое-нибудь программное обеспечение для отключения / включения кэша памяти для Ubuntu 12.04.

Примечание: Linux НЕ "съедает" вашу оперативную память! Пожалуйста, взгляните на Гейру отличный ответ ниже, чтобы понять, почему...

После приведенного выше примечания, если вы все еще чувствуете, что "очистка" кэша может помочь, вы, конечно, можете попробовать: это однострочное сообщение из терминала:

sync && echo 3 | sudo tee /proc/sys/vm/drop_caches

Нет простого способа отключать кэш, но вы можете добиться того же эффекта, очищая его так часто, как каждую минуту, если ты хочешь:

  • Сделайте это cron-задание

  • Нажмите Alt-F2, тип gksudo gedit /etc/crontab, и добавьте эту строку в нижней части:

    */15 * * * * root sync && echo 3 > /proc/sys/vm/drop_caches

  • Это очищает каждые 15 минут. Вы можете установить значение 1 или 5 минут если ты действительно хочешь изменив первый параметр на * или */5 вместо */15

Один лайнер, чтобы узнать РЕАЛЬНУЮ свободную оперативную память, за исключением кэша

Ответ Гейры объясняет детали, но вкратце, вы получаете количество бесплатных мегабайт с:

free -m | sed -n -e '3p' | grep -Po "\d+$"

который на моем сервере командной строки объемом 2 ГБ возвращает чрезвычайно работоспособный 1835.

Помогите! Linux съел мою оперативную память!

www.linuxatemyram.com прекрасно объясняет это в форме часто задаваемых вопросов, при этом основные моменты заключаются в следующем:

Что происходит?

Linux использует неиспользуемую память для кэширования на диске. Это создает впечатление, что у вас мало памяти, но это не так! Все в порядке!

Почему он это делает?

Кэширование диска делает систему намного быстрее! Здесь нет никаких недостатков, за исключением сбивающих с толку новичков. Это никоим образом не отнимает память у приложений, никогда!

Что делать, если я захочу запустить больше приложений?

Если вашим приложениям требуется больше памяти, они просто забирают часть, позаимствованную дисковым кэшем. Дисковый кэш всегда можно немедленно вернуть приложениям! У вас не мало оперативной памяти!

Как мне узнать, сколько у меня на самом деле свободной оперативной памяти?

Чтобы узнать, сколько оперативной памяти могут использовать ваши приложения без подкачки, запустите free -m и посмотрите на столбец "доступно".:

$ free -m всего использованных бесплатных общих баффов/доступных кешей: 1504 1491 13 0 855      792Обмен: 2047 6 2041
Это ваш ответ в мегабайтах.


Источник: как уже упоминалось, превосходный www.linuxatemyram.com -- пожалуйста, посетите сайт для получения дополнительной информации.

Чтобы Проверить Текущее Использование вашей Памяти

 watch -n 1 free -m

или

 watch -n 1 cat /proc/meminfo

Чтобы Освободить Место

 sudo sysctl -w vm.drop_caches=3

записка: это действие не ускорит вашу систему и не повлияет на ее стабильность и производительность, оно просто очистит память, используемую ядром Linux в кэшах.

или

 sudo sync && echo 3 | sudo tee /proc/sys/vm/drop_caches

записка: Вы можете использовать задания cron, чтобы запланировать выполнение приведенных выше команд через определенные промежутки времени.

Как мы видим, обналичивание не является проблемой, только если оно вызывает обмен, чего вы можете избежать, управляя vm.возможность замены ценность.Может быть, это то, что ты ищешь:почему используется подкачка, хотя у меня много свободной оперативной памяти

Вы уверены, что это решит вашу проблему? Память не заполняется без причины. У меня также была проблема с тем, что моя память заполнялась, и я проследил ее до tracker-miner. После того, как я удалил все пакеты трекера, моя проблема исчезла. У меня также есть 4 ГБ памяти, а 2 ГБ используются кэшами, но я не испытываю никаких проблем.

@danielkullmann: Он имеет в виду кэшированную память, а не память, используемую приложениями…

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

@danielkullmann: Мне любопытно узнать, как вы проследили это до одного процесса, который поглощает всю эту память… Есть ли для этого какой-нибудь инструмент / команда?

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

@danielkullmann: О, да, htop… Как удобно, что я забыл один из лучших инструментов на свете. Неважно, я думал, ты использовал какое-то инопланетное программное обеспечение, которого я не знал… ЛОЛ

На этом скриншоте у вас почти ничего нет в swap. Я видел, как небольшие объемы памяти менялись местами без видимой причины, не уверен. Но в любом случае, я не думаю, что здесь виноват дисковый кэш.

Поскольку я не могу комментировать, я отвечаю. Дисковый кэш заполняет оперативную память при выполнении операции записи на диск. Если у вас много записей, кэш вырастет до такой степени, что система начнет подкачку. Я знаю, что это правда, потому что я видел это раньше, и для меня это звучит безумно, но, по-видимому, это нормально для остального мира. Прочтите логику: вы интенсивно используете диск, и что вы получаете? Больше использования диска, потому что система начинает подкачку, потому что вы сбрасываете данные на диск. Я имею в виду… привет, кто-нибудь дома?
Мое предложение таково: используйте sync && echo 3 | sudo tee / proc / sys / vm /drop_caches как можно чаще.