Недостаточно памяти

307
swiffer

Общая память, сообщаемая свободной командой, постоянно увеличивается, в то время как доступная память уменьшается до 0. Понял, что Linux использует свободную оперативную память для кэширования диска, но даже после запуска drop_caches использование общей памяти остается очень высоким. через 1-2 дня система начинает меняться и становится очень медленной!

$ grep Shmem /proc/meminfo Shmem: 4922540 kB ShmemHugePages: 0 kB ShmemPmdMapped: 0 kB  $ df -BK | grep tmpfs tmpfs 1608216K 3268K 1604948K 1% /run tmpfs 8041060K 12K 8041048K 1% /dev/shm tmpfs 5120K 4K 5116K 1% /run/lock tmpfs 8041060K 0K 8041060K 0% /sys/fs/cgroup tmpfs 1608212K 16K 1608196K 1% /run/user/120 tmpfs 1608212K 0K 1608212K 0% /run/user/1000  $ free -m Gesamt belegt frei gemns. Puffer/Cache verfügbar Speicher: 15705 494 4220 4807 10990 10069 Auslagerungsspeicher: 8099 3 8096 

как я могу понять, почему общий доступ увеличивается и что там?

я настроил gitlab для использования prometheus и включил node_exporter, так что я получаю представление об использовании памяти. вы можете ясно видеть, что каждые 20 минут увеличивается чередование 250 МБ в чч: 13, чч: 33 и чч: 53.

prometheus node_exporter неактивен в течение долгого времени

0

2 ответа на вопрос

0
harrymc

Видимо, какая-то программа зацикливается на создании сегментов разделяемой памяти. Эти сегменты не могут быть выгружены из памяти, поэтому доступная оперативная память израсходована, что приводит к перестановкам.

Для определения продукта см. Статью
Как определить, какая программа использует общую память и когда она использовала ее .

Краткое резюме:

  1. Используйте ipcs -mдля получения информации о сегменте разделяемой памяти

image1

  1. Используйте, ipcs -mpчтобы показать, какой PID использует (или использовал) сегмент общей памяти

image2

  1. Используйте ps -pдля поиска информации о pid

Спасибо, что поделились этими инструкциями. Я выполнил инструкции и завершил работу запущенного экземпляра gitlab, когда там появились gitlab-psql и postgres. Однако использование общей памяти все еще остается высоким и увеличивается каждые 20-30 минут. swiffer 6 лет назад 0
Возможно, вам придется продолжать поиск, или gitlab может перезапустить сам. harrymc 6 лет назад 0
сделал это, обновил мой первоначальный пост графиком prometheus node_exporter, показывающим регулярное увеличение неактивного размера anon. есть ли шанс увидеть, что здесь периодически происходит? ничего внутри crontab насколько я знаю swiffer 6 лет назад 0
Я не понимаю, почему описанная выше процедура не помогает вам выяснить виновный процесс. Общая память не может существовать без использования, так как она уничтожается всякий раз, когда ее последний пользователь закрывает ее или процесс завершается. harrymc 6 лет назад 0
Был связан с падением оболочки gnome каждые 20 минут. (См. Другой ответ) swiffer 6 лет назад 0
0
swiffer

Обнаружено, что гном-оболочка падает каждые 20 минут. Система используется в качестве безголового домашнего сервера, но подключена к 4k ТВ через HDMI (ТВ выключен все время). Масштабирование дисплея Установите на 200% в пользовательской сессии.

Система: H370 / i915 / i3-8100.

Я отключил кабель HDMI и, по крайней мере, сейчас он выглядит хорошо!

Вывод выкл dmesg | grep gnome-shell

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