Недостаточно памяти при использовании 18%: куда идет оперативная память?
Это связано с: Недостаточно памяти при использовании 72%
Это похоже на ту же проблему, но вопрос немного другой: куда уходит моя память? У меня 18% использования памяти, и мой OOM Killer убивает mysqld каждые 10 минут.
Я смог собрать некоторую информацию:
1 - Благодаря /questions/379551/nedostatochno-pamyati-pri-ispolzovanii-72/379556#379556 я обнаружил, что отчет OOM Killer показывает, что DMA35 + DMA + Normal используют 96% (отчет https://pastebin.com/UJUiSsSi)... так что есть проблема...
2 - список процессов от OOM Killer: https://pastebin.com/yYTD4QzW
3 - бесплатные, top, htop и другие инструменты показывают мне 18% -ое использование памяти на максимуме. Вот топ использование сортировки оперативной памяти ( https://pastebin.com/DEDV1HWb)
4 - free -m ничего не говорит о проблеме с оперативной памятью:
total used free shared buff/cache
available
Mem: 6809 414 470 201 5924 5825
(Я добавил своп, так как у меня не было свопа на этой виртуальной машине, но ничего не изменилось, своп не используется)
5 (РЕДАКТИРОВАТЬ): Благодаря Даниэлю Горди я очищаю свой бафф / кеш free && sync && echo 3 > /proc/sys/vm/drop_caches && free
и запустил oom-killer вручную с echo f > /proc/sysrq-trigger
, И, WTF, отчет о таранном убийце (DMA35 + DMA + Normal) показывает мое ожидаемое использование оперативной памяти: 18%! Я всегда думал, что buff/cache
значит доступно, когда ОС нужна - это...
Почему и где есть баран?
(Я действительно надеюсь, что смогу помочь, так как мой рабочий сервер действительно нестабилен, так как эта проблема возникает:(Спасибо)
2 ответа
Если кто-то приходит сюда за решением, это обновление:
Я откатил все изменения конфигурации и сделал новую перезагрузку сервера. С 2 месяцев сервер выглядит хорошо и проблема исчезла.
Не уверен, что здесь произошло...
Попробуйте выяснить, какой процесс использует вашу оперативную память с ps aux --sort -rss
,
С уважением к выходу сервера для free -m
большая часть оперативной памяти была буферизована / кэширована. Попробуйте очистить кеш с помощью этой команды: # free && sync && echo 3 > /proc/sys/vm/drop_caches && free