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

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

memory

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

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

bleachbit memory

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

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

49
задан 13 April 2017 в 15:24

5 ответов

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

0
ответ дан 13 April 2017 в 15:24

Проверка текущего использования памяти

 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, чтобы запланировать выполнение вышеприведенных команд через определенные промежутки времени.

0
ответ дан 13 April 2017 в 15:24

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

0
ответ дан 13 April 2017 в 15:24

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

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

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

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

  • Сделать его cron-job
  • Нажмите 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.

0
ответ дан 13 April 2017 в 15:24

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

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

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

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

Почему это происходит?

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

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

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

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

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

$ free -m
              total        used        free      shared  buff/cache   available
Mem:           1504        1491          13           0         855      792
Swap:          2047           6        2041
Это ваш ответ в мегабайтах.

<час>

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

0
ответ дан 13 April 2017 в 15:24

Другие вопросы по тегам:

Похожие вопросы: