Освобождаем память в 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
Комментарии (0)