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

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

объем памяти

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

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

блебит бит памяти

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

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

5 ответов

Решение

Примечание: 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,

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

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

В чем дело?

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

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

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

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

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

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

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

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


Источник: как уже упоминалось, отличный http://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.swappiness. Может быть, это то, что вы ищете: почему-то подкачки-используется-даже-хотя-у меня есть много свободного оперативной памяти

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

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