Поиск по сайту

    Мои услуги на Kwork

Разбираемся, как Linux использует оперативную память

Ошибочное мнение

Многим кажется что Linux жёстко “течёт” по  памяти во время своей работы. Но это не так, дело в неправильной визуализации.

 

Как видно, used память не изменяется, а  cached получили максимальный прирост. И остаётся достаточно мало Free памяти. Но если она начнёт расходоваться реальными приложениями – Linux начнёт освобождать Cached-память.

Зачем вообще нужна Cached-память? Чтобы не обращаться лишний раз к медленному дисковому I/O, например.

Реально разбираться в проблеме стоит если растёт именно used-память.

Как читать вывод Free

Для того чтобы понимать что происходит необходимо уметь читать вывод команды free:

disetern@host:/# free
              total        used        free      shared  buff/cache   available
Mem:      131998392     4946584     1629068      607664   125422740   121985672
Swap:     134179836           0   134179836
  • Mem-total – общий объём имеющейся оперативной памяти без учёта swap
  • Mem cached – как правило кэшированное дисковое I/O. Очищать кэш – затратное дело (одно только принятие решения о каждой области памяти чего стоит) и просто так этим заниматься, когда свободной памяти достаточно – странное решение.
  • Mem used – память использованная приложениями, буферами, кэшами
  • Mem free – вообще никак не используемая в текущий момент память
  • Swap-total – общий объём swap

Когда нужно беспокоиться, а когда нет

  • buffers/cache /Mem-total < 4/5 – можно спать спокойно
  • Swap used / Swap total > 1/2 – вообще, ситуация так себе, система должна начать сильно тормозить
  • Swap used > 2Gb (при объёмах памяти до 16Gb) и эта цифра РАСТЁТ НА ГЛАЗАХ – тоже ситуация не очень.

Чистить swap дело тоже довольно затратное, так что если не растёт, -/+ buffers cache free довольно велика – то и фиг с ним.

Comments

So empty here ... leave a comment!

Добавить комментарий

Sidebar



Яндекс.Метрика Рейтинг@Mail.ru