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

Я нашел эти шпаргалки DOS-to-Linux Terminal, надеюсь, они помогут!:

Чтобы лучше понять, как работает синтаксис терминала, я рекомендую эту страницу:

Просто любопытство: если вы в конце концов привыкнете к командам Linux и увидите себя в ситуации, когда вы используете как DOS, так и Linux, вы можете узнать, как запустить терминал Linux в Windows, прежде чем начинать ломать клавиатуры. Взгляните на этот вопрос & A:

49
задан 13.04.2017, 15:24

4 ответа

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

59
ответ дан 22.10.2019, 10:37
  • 1
    Ergh! Вывод из строя кэша достаточно плох, но создание cronjob для него? Я имею в виду, это делает " solve" вопрос, если можно так выразиться, но это doesn' t делают его немного менее болезненным. – danijar 25.06.2012, 16:25
  • 2
  • 3
    @izx: хм..., таким образом, это - то, как каждый создает cronjob. Если я собираюсь отбросить кэш периодически, doesn' t это означает, что я на самом деле замедляю систему? Если это имело место, я думаю, что Ваш ответ больше походит на теоретический ответ, чем geirha' s ответ.: p Хороший ответ BTW... – Community 25.06.2012, 22:23
  • 4
    @ForbiddenOverseer: Я только вставил это, потому что Вы хотели к " disable" кэш и отбрасывание его периодически являются единственным способом выполнить это. Мое примечание наверху (и geirha' s ссылка), ясно указывает, что кэш на самом деле ускоряет Вашу систему большую часть времени, даже если это похоже на свой " съедая Вашу RAM)---так да, IMO, Вы замедлили бы свою систему, но Вы хотели попробовать его, таким образом, я просто ответил на Ваш вопрос вместо того, чтобы просто ворчать Вас и сказать Вам it' s плохая идея и так Вы shouldn' t делают это! Я просто дал Вам питание экспериментировать...: D – Delgan 25.06.2012, 22:49
  • 5
    Я использую Сервер Ubuntu 12.04 LTS в качестве VDS. Я пробую подход, обеспеченный в этом ответе, но я постоянно добираюсь tee: /proc/sys/vm/drop_caches: Permission denied. Какие-либо подсказки? – Robin Winslow 03.08.2013, 16:57

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

0
ответ дан 21.04.2019, 10:16

Помощь! 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 - пожалуйста, посетите для получения дополнительной информации.

45
ответ дан 22.10.2019, 10:37
  • 1
    @geirha: Спасибо за ссылку... Это было очень информативно, и мне понравились эксперименты, данные в конце!! – deepelement 25.06.2012, 22:20
  • 2
    @izx: tbh, мне нелегко решать принятый ответ. Не говоря уже о, эта ссылка была на самом деле информативна любым способом...;) – Robin Winslow 25.06.2012, 22:27
  • 3
    @ForbiddenOverseer: см. мой комментарий в моем ответе для подробного ответа - я дал Вам короткую версию почему Вы shouldn' t делают это, но тогда ответили на Ваш вопрос так или иначе, дав Вам питание экспериментировать и испытать его для себя. Если Вы don' t думают, чистя/отбрасывая кэш, помогает, просто don' t больше делают это:) – Chris 25.06.2012, 22:51
  • 4
    @izx, мне было трудно немного сделать это для этого случая. Однако Вы действительно писали полезный текст по вопросу, поэтому возможно, Вы могли просто добавить URL к своему ответу, и мы удаляем мой ответ? – Chris 27.06.2012, 12:10
  • 5
    Никакая потребность, Ваша ссылка в превосходном ресурсе; я просто включил некоторые части в ответ (с атрибуцией) так, чтобы it' s теперь совершенно допустимая альтернатива (на самом деле лучший ответ, как замечено общественностью!) Отличная работа, upvoted - добро пожаловать в 5k! – Robin Winslow 27.06.2012, 12:51

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

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

4
ответ дан 22.10.2019, 10:37

Теги

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