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

Разбираемся, как 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