Linux: утилита free и очистка кэша памяти

Рассмотрим информацию, которую выводит free:

1 # free
2 total       used       free     shared    buffers     cached
3 Mem:       8061508    4632736    3428772          0      10268    3263140
4 -/+ buffers/cache:    1359328    6702180
5 Swap:      8388600     477768    7910832

Будучи запущенной без ключей – она отобразит статистику в килобайтах.

Для вывода информации в других единицах – используются ключи:

-b – в байтах;
-m – мегабайтах;
-g – гигабайтах.

Ключ -s позволяет запустить утилиту с заданным периодом обновления информации.

Например – обновлять каждые 5 секунд:

1 # free -m -s 5

Строки:

Mem – физическая память;
Swap – виртуальная память, или Paging.

Колонки:

total – общее количество памяти;
used – реально использующая в данный момент и зарезервированная системой память;
free – свободная память (total минус used);
shared – Shared memory или Разделяемая память, можно посмотреть командой ipcs;
buffers – буферы в памяти – страницы памяти, зарезервированные системой для выделения их процессам, когда они затребуют этого, так же известна как heap-memory;
cached – файлы, которые недавно были использованы системой/процессами и хранящиеся в памяти на случай если вскоре они снова потребуются.

Как очистить кеш памяти в Linux?

Можно выполнить такую команду:

1 # sync; echo 3 > /proc/sys/vm/drop_caches

разница видна:

1 # free -m
2 total       used       free     shared    buffers     cached
3 Mem:          7872       4562       3309          0          2       3137

Однако, смысл выполнять такую очистку есть лишь в случае реальных проблем с памятью.

 

Категории: 

Метки: