Out памяти при использовании 18%: куда идет оперативная память?

Это связано с: Недостаточно памяти при использовании 72%

Похоже, проблема та же, но вопрос немного другой: Куда уходит моя память? У меня 18% использования памяти, и мой OOM Killer убивает mysqld каждые 10 минут.

Мне удалось собрать некоторую информацию:

1 - Благодаря https://serverfault.com/a/619681/182343 Я обнаружил, что отчет OOM Killer показывает, что DMA35 + DMA + Нормальное использование составляет 96% (отчет https://pastebin.com/UJUiSsSi ) ... так что есть проблема ...

2 - Список процессов от OOM Killer: https://pastebin.com/yYTD4QzW

3 - Бесплатные, верхние, htop и другие инструменты показывают максимальное использование оперативной памяти 18%. Вот пример использования оперативной памяти верхней сортировки ( https://pastebin.com/DEDV1HWb )

4 - free -m ничего не говорит о проблеме с оперативной памятью:

              total        used        free      shared  buff/cache   
available
Mem:           6809         414         470         201        5924        5825

(Я добавил немного подкачки поскольку у меня не было свопа на этой виртуальной машине, но ничего не изменилось, своп не используется)

5 (РЕДАКТИРОВАТЬ): Благодаря Даниэлю Горди я очищаю свой буфер / кеш бесплатно && sync && echo 3> / proc / sys / vm / drop_caches && free и запустил oom-killer вручную с помощью echo f> / proc / sysrq-trigger . И, черт возьми, отчет по оперативной памяти (DMA35 + DMA + Normal) показывает мое ожидаемое использование оперативной памяти: 18%! Я всегда думал, что buff / cache означает доступный, когда ОС требует - это ...

Почему и где съедают барана?

(Я очень надеюсь, что мне там помогут, поскольку мой рабочий сервер действительно нестабилен, так как появляется эта проблема :( Спасибо)

4
задан 10 October 2018 в 11:03
2 ответа

На случай, если кто-то придет сюда за решением, это обновление:

Я откатил все изменения конфигурации и перезагрузил сервер заново. За 2 месяца сервер выглядит хорошо, и проблема исчезла.

Не знаю, что здесь произошло ...

1
ответ дан 3 December 2019 в 03:54

Попытайтесь найти, какой процесс использует вашу оперативную память, с помощью ps aux --sort -rss .
Что касается вывода сервера для free -m большая часть RAM была буферизована / кэширована. Попробуйте очистить кеши с помощью этой команды:
# free && sync && echo 3> / proc / sys / vm / drop_caches && free

1
ответ дан 3 December 2019 в 03:54

Теги

Похожие вопросы