linux работа с памятью

Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
Ответить
linux работа с памятью
Подскажите как понять сколько памяти и сколько свободно ?
Речь про оперативную память CentOS
Команда free предоставляет информацию об использованной и неиспользованной памяти, а так же о разделе подкачки (swap). В этой статье разберем несколько полезных примеров использования этой команды.

free -m

пример:
Код
[root@isp-mtw ~]# free -m
             total       used       free     shared    buffers     cached
Mem:         31343      16440      14903        476        495      11165
-/+ buffers/cache:       4779      26563
Swap:         3871          0       3871


параметр -m (выдает нам данные в мегабайтах)
т.е  всего 32 ГБ (в системе)
из них использовано 16.5 гб
колонки free и cached надо сумировать это свободная память
Обычно колонка cached занимает 100% свободной памяти а в колонки free пару мегобайт
это нормальное поведение ядра. Сached - это память страничного кэша.(которое освобождается при необходимости работы с памятью)
Page Cache

Через Page Cache в Linux по умолчанию идут все операции чтения и записи. Он динамического размера, то есть именно он съест всю вашу память, если она свободна. Как гласит старая шутка, если вам нужна свободная память в сервере, просто вытащите ее из сервера.
 Page Cache делит все файлы, которые мы читаем, на страницы (страница, как мы сказали, – 4 KБ).
 Посмотреть, есть ли в Page Cache какие-­то страницы какого-­то конкретного файла, можно с помощью системного вызова mincore(). Или с помощью утилиты vmtouch, которая написана с использованием этого системного вызова.

Как же происходит запись? Любая запись происходит на диск не сразу, а в Page Cache, и делается это практически моментально. Тут можно увидеть интересную «аномалию»: запись на диск идет намного быстрее, чем чтение. Дело в том, что при чтении (если данной странички файла в Page Cache нет) мы пойдем в диск и будем синхронно ждать ответа, а запись в свою очередь пройдет моментально в кеш.

Минусом такого поведения является то, что на самом деле данные никуда не записались, — они просто находятся в памяти, и когда-­то их нужно будет сбросить на диск. У каждой странички при записи проставляется флажок (он называется dirty). Такая «грязная» страничка появляется в Page Cache. Если накапливается много таких страничек, система понимает, что пора их сбросить на диск, а то можно их потерять (если внезапно пропадет питание, наши данные тоже пропадут).
Страницы: 1
Ответить
Форма ответов
 
Текст сообщения*
:) ;) :D 8) :( :| :cry: :evil: :o :oops: :{} :?: :!: :idea:
Защита от автоматических сообщений. Введите символы, изображенные на этой картинке в поле ввода &quote;Код подтверждения&quote;.