Освобождаем память в Linux

Освобождаем память в Linux

Недавно столкнулся с тем, что после бекапа сервера вся свободная память переходит в Cached. Вроде бы все впорядке, это нормально, так и должно быть... Но вот система начинает заметно тормозить, WEB-сервер плюется 504 ошибками и т.п. Плюс я заметил, что если начинают выполняться процессы, требующие много памяти, вместо того, чтобы освободить кеш он начинает писать в своп. 

О том как разобраться, где собака зарыта мы поговорим в другой раз, а сейчас прменим экстренные меры:

Смотрим что происходит с памятью в реальном времени:

watch -n 1 cat /proc/meminfo
 
Пример вывода
Every 1.0s: cat /proc/meminfo

MemTotal:        2068536 kB
MemFree:         1139016 kB
MemAvailable:    1895316 kB
Buffers:           11940 kB
Cached:           791516 kB
SwapCached:           48 kB
Active:           231996 kB
Inactive:         648332 kB
Active(anon):      69492 kB
Inactive(anon):    47308 kB
Active(file):     162504 kB
Inactive(file):   601024 kB
Unevictable:           0 kB
Mlocked:               0 kB
HighTotal:       1361928 kB
HighFree:         755196 kB
LowTotal:         706608 kB
LowFree:          383820 kB
SwapTotal:        392188 kB
SwapFree:         387460 kB
Dirty:                 4 kB
Writeback:            48 kB
AnonPages:         76836 kB
Mapped:            32120 kB
Shmem:             39928 kB
Slab:              28332 kB
SReclaimable:      11352 kB
SUnreclaim:        16980 kB


Чистим pagecache:

sudo sync && echo 1 | sudo tee /proc/sys/vm/drop_caches


Чистим dentries и inodes:

sudo sync && echo 2 | sudo tee /proc/sys/vm/drop_caches


Чистим pagecache, dentries и inodes:

sudo sync && echo 3 | sudo tee /proc/sys/vm/drop_caches


 

Теги: Linux, RAM

Комментарии (0)