Утечка памяти: как с ней бороться?

Обсуждение установки и настройки поддерживаемых вебсерверов, а также работы с ними.
Аватара пользователя
con
Сообщения: 84
Зарегистрирован: Вс мар 15, 2020 11:58 am

Re: Утечка памяти: как с ней бороться?

Сообщение con » Ср май 19, 2021 7:28 am

Спасибо. Может кому пригодится:
Если SWAP есть и нужно увеличить:
1) отключаем и удаляем текущий SWAP:
yum swapoff -v /swapfile
rm -rf /swapfile
2) создаем новый SWAP
dd if=/dev/zero of=/swapfile bs=1M count=8192 (тут объем в mb)
mkswap /swapfile
swapon /swapfile

Если SWAP нет
1)
dd if=/dev/zero of=/swapfile bs=1M count=2048
mkswap /swapfile
swapon /swapfile
2 ) В файл /etc/fstab добавляем строку
/swapfile swap swap defaults 0 0
Последний раз редактировалось con Ср май 19, 2021 7:48 am, всего редактировалось 1 раз.
Centos7

Аватара пользователя
sbury
Сообщения: 994
Зарегистрирован: Вт фев 06, 2018 7:51 am

Re: Утечка памяти: как с ней бороться?

Сообщение sbury » Ср май 19, 2021 7:33 am

Так же прошу учитывать еще один момент, особено у кого памяти до 4Г и установлен сервис ClamAV и ClamSMTPD. Сам по себе он довольно прожорлив, и может забирать от 1Г до 1.8Г оперативной памяти, и не особо хочет ей с кем-то делиться. Если он вам не особо нужен, удаляйте его через менеджер приложений. Если все таки нужен, позаботьтесь о размере свап раздела.

Еще есть возможность для CentOS 8 использовать скрипт, который поможет оценить использование оперативной памяти сервисами. Запускается он так:

Код: Выделить всё

bash /usr/local/brainycp/ssh/meminfo.sh
к сожалению на CentOS 7 он работать не будет.

Аватара пользователя
con
Сообщения: 84
Зарегистрирован: Вс мар 15, 2020 11:58 am

Re: Утечка памяти: как с ней бороться?

Сообщение con » Ср май 26, 2021 1:44 pm

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

Код: Выделить всё

root ~ # uname -r
3.10.0-1160.25.1.el7.x86_64
root ~ # rpm -qa | grep glibc
glibc-common-2.17-324.el7_9.x86_64
glibc-devel-2.17-324.el7_9.x86_64
glibc-2.17-324.el7_9.x86_64
glibc-headers-2.17-324.el7_9.x86_64
root ~ # sysctl -a | grep swap
vm.swappiness = 50
root ~ # systemctl --failed
0 loaded units listed. Pass --all to see loaded but inactive units, too.
To show all installed unit files use 'systemctl list-unit-files'.
root ~ # sysctl -a | grep huge
vm.hugepages_treat_as_movable = 0
vm.hugetlb_shm_group = 0
vm.nr_hugepages = 20
vm.nr_hugepages_mempolicy = 20
vm.nr_overcommit_hugepages = 0
root ~ # sysctl -a | grep memory
vm.memory_failure_early_kill = 0
vm.memory_failure_recovery = 1
vm.overcommit_memory = 0
root /var/log/nginx # cat /var/log/nginx/error.log | grep memory
2021/05/26 13:00:13 [alert] 19428#0: fork() failed while spawning "worker process" (12: Cannot allocate memory)
2021/05/26 13:00:13 [alert] 19428#0: fork() failed while spawning "worker process" (12: Cannot allocate memory)
2021/05/26 13:00:13 [alert] 19428#0: fork() failed while spawning "worker process" (12: Cannot allocate memory)
2021/05/26 13:00:13 [alert] 19428#0: fork() failed while spawning "worker process" (12: Cannot allocate memory)
2021/05/26 13:00:13 [alert] 19428#0: fork() failed while spawning "cache manager process" (12: Cannot allocate memory)

а вот логи /var/log/nginx/error.log одного из сайтов. Лягло где-то в 13:00 по времени в логах.

Код: Выделить всё

2021/05/26 13:00:13 [alert] 19428#0: fork() failed while spawning "worker process" (12: Cannot allocate memory)
2021/05/26 13:00:13 [alert] 19428#0: sendmsg() failed (9: Bad file descriptor)
2021/05/26 13:00:13 [alert] 19428#0: sendmsg() failed (9: Bad file descriptor)
2021/05/26 13:00:13 [alert] 19428#0: sendmsg() failed (9: Bad file descriptor)
2021/05/26 13:00:13 [alert] 19428#0: sendmsg() failed (9: Bad file descriptor)
2021/05/26 13:00:13 [alert] 19428#0: sendmsg() failed (9: Bad file descriptor)
2021/05/26 13:00:13 [alert] 19428#0: fork() failed while spawning "worker process" (12: Cannot allocate memory)
2021/05/26 13:00:13 [alert] 19428#0: sendmsg() failed (9: Bad file descriptor)
2021/05/26 13:00:13 [alert] 19428#0: sendmsg() failed (9: Bad file descriptor)
2021/05/26 13:00:13 [alert] 19428#0: sendmsg() failed (9: Bad file descriptor)
2021/05/26 13:00:13 [alert] 19428#0: sendmsg() failed (9: Bad file descriptor)
2021/05/26 13:00:13 [alert] 19428#0: sendmsg() failed (9: Bad file descriptor)
2021/05/26 13:00:13 [alert] 19428#0: fork() failed while spawning "worker process" (12: Cannot allocate memory)
2021/05/26 13:00:13 [alert] 19428#0: sendmsg() failed (9: Bad file descriptor)
2021/05/26 13:00:13 [alert] 19428#0: sendmsg() failed (9: Bad file descriptor)
2021/05/26 13:00:13 [alert] 19428#0: sendmsg() failed (9: Bad file descriptor)
2021/05/26 13:00:13 [alert] 19428#0: sendmsg() failed (9: Bad file descriptor)
2021/05/26 13:00:13 [alert] 19428#0: sendmsg() failed (9: Bad file descriptor)
2021/05/26 13:00:13 [alert] 19428#0: fork() failed while spawning "worker process" (12: Cannot allocate memory)
2021/05/26 13:00:13 [alert] 19428#0: sendmsg() failed (9: Bad file descriptor)
2021/05/26 13:00:13 [alert] 19428#0: sendmsg() failed (9: Bad file descriptor)
2021/05/26 13:00:13 [alert] 19428#0: sendmsg() failed (9: Bad file descriptor)
2021/05/26 13:00:13 [alert] 19428#0: sendmsg() failed (9: Bad file descriptor)
2021/05/26 13:00:13 [alert] 19428#0: sendmsg() failed (9: Bad file descriptor)
2021/05/26 13:00:13 [alert] 19428#0: fork() failed while spawning "cache manager process" (12: Cannot allocate memory)
2021/05/26 13:00:13 [alert] 19428#0: sendmsg() failed (9: Bad file descriptor)
2021/05/26 13:00:13 [alert] 19428#0: sendmsg() failed (9: Bad file descriptor)
2021/05/26 13:00:13 [alert] 19428#0: sendmsg() failed (9: Bad file descriptor)
2021/05/26 13:00:13 [alert] 19428#0: sendmsg() failed (9: Bad file descriptor)
2021/05/26 13:00:13 [alert] 19428#0: sendmsg() failed (9: Bad file descriptor)
2021/05/26 13:35:12 [notice] 10243#0: ModSecurity for nginx (STABLE)/2.9.2 (http://www.modsecurity.org/) configured.
2021/05/26 13:35:12 [notice] 10243#0: ModSecurity: APR compiled version="1.5.2"; loaded version="1.5.2"
2021/05/26 13:35:12 [notice] 10243#0: ModSecurity: PCRE compiled version="8.32 "; loaded version="8.32 2012-11-30"
2021/05/26 13:35:12 [notice] 10243#0: ModSecurity: LUA compiled version="Lua 5.1"
2021/05/26 13:35:12 [notice] 10243#0: ModSecurity: LIBXML compiled version="2.9.1"
2021/05/26 13:35:12 [notice] 10243#0: ModSecurity: StatusEngine call: "2.9.2,nginx,1.5.2/1.5.2,8.32/8.32 2012-11-30,Lua 5.1,2.9.1,80cf3165bd6c141a23d26189b838105e7752401b"
2021/05/26 13:35:12 [notice] 10243#0: ModSecurity: StatusEngine call successfully sent. For more information visit: http://status.modsecurity.org/
Centos7

Co1Defens
Сообщения: 1
Зарегистрирован: Вт июл 27, 2021 10:42 pm

Re: Утечка памяти: как с ней бороться?

Сообщение Co1Defens » Чт июл 29, 2021 8:32 am

Всем доброго времени суток!
Вставлю несколько слов...
Не так давно наблюдал утечку памяти в Битрикс CMS на php v7.3.2
Тоже сначала грешил на mysql и nginx, но было выявлено в php.
Помогло переход на версию 7.4

Возможно кому то пригодиться.

Аватара пользователя
con
Сообщения: 84
Зарегистрирован: Вс мар 15, 2020 11:58 am

Re: Утечка памяти: как с ней бороться?

Сообщение con » Чт июл 29, 2021 8:56 am

Co1Defens писал(а):
Чт июл 29, 2021 8:32 am
Всем доброго времени суток!
Вставлю несколько слов...
Не так давно наблюдал утечку памяти в Битрикс CMS на php v7.3.2
Тоже сначала грешил на mysql и nginx, но было выявлено в php.
Помогло переход на версию 7.4

Возможно кому то пригодиться.
спасибо, возможно)
Centos7

Аватара пользователя
sbury
Сообщения: 994
Зарегистрирован: Вт фев 06, 2018 7:51 am

Re: Утечка памяти: как с ней бороться?

Сообщение sbury » Пт июл 30, 2021 5:42 pm

новый инсталлятор версии 3.01 решает проблему чрезмерной нагрузки на оперативную память. Это актуально для обоих, CentOS 7 и 8.
Для уже установленных систем, решение будет в новом обновлении.

sqr
Сообщения: 20
Зарегистрирован: Пн июн 29, 2020 12:11 pm

Re: Утечка памяти: как с ней бороться?

Сообщение sqr » Чт янв 06, 2022 1:11 pm

У меня так и не исправилось, обновлений уже много было.
Сайты перестают отвечать через 1-2 недели, помогает только полный перезапуск или рестарт nginx. Монитор видит что nginx работает и не перезапускает его.

Ошибки как у коллег выше
2022/01/05 17:00:26 [alert] 30643#0: fork() failed while spawning "worker process" (12: Cannot allocate memory)
2022/01/05 17:00:26 [alert] 30643#0: sendmsg() failed (9: Bad file descriptor)
2022/01/05 17:00:26 [alert] 30643#0: sendmsg() failed (9: Bad file descriptor)
2022/01/05 17:00:26 [alert] 30643#0: sendmsg() failed (9: Bad file descriptor)
2022/01/05 17:00:26 [alert] 30643#0: fork() failed while spawning "worker process" (12: Cannot allocate memory)
2022/01/05 17:00:26 [alert] 30643#0: sendmsg() failed (9: Bad file descriptor)
2022/01/05 17:00:26 [alert] 30643#0: sendmsg() failed (9: Bad file descriptor)
2022/01/05 17:00:26 [alert] 30643#0: sendmsg() failed (9: Bad file descriptor)
2022/01/05 17:00:26 [alert] 30643#0: fork() failed while spawning "cache manager process" (12: Cannot allocate memory)
2022/01/05 17:00:26 [alert] 30643#0: sendmsg() failed (9: Bad file descriptor)
2022/01/05 17:00:26 [alert] 30643#0: sendmsg() failed (9: Bad file descriptor)
2022/01/05 17:00:26 [alert] 30643#0: sendmsg() failed (9: Bad file descriptor)
Версия 1.0930 2021-11-04

Аватара пользователя
alenka
Сообщения: 1066
Зарегистрирован: Ср сен 27, 2017 11:10 am

Re: Утечка памяти: как с ней бороться?

Сообщение alenka » Чт янв 06, 2022 2:47 pm

У меня так и не исправилось, обновлений уже много было.
Сайты перестают отвечать через 1-2 недели, помогает только полный перезапуск или рестарт nginx. Монитор видит что nginx работает и не перезапускает его.
Мы работаем над новым nginx, пока для centos8

sqr
Сообщения: 20
Зарегистрирован: Пн июн 29, 2020 12:11 pm

Re: Утечка памяти: как с ней бороться?

Сообщение sqr » Чт янв 06, 2022 3:05 pm

Что делать в текущей ситуации, как избежать проблемы?
Рестарт в крон на определенный период поможет? это какой то накопительный эффект?

Аватара пользователя
sbury
Сообщения: 994
Зарегистрирован: Вт фев 06, 2018 7:51 am

Re: Утечка памяти: как с ней бороться?

Сообщение sbury » Пт янв 07, 2022 9:27 am

sqr писал(а):
Чт янв 06, 2022 3:05 pm
Что делать в текущей ситуации, как избежать проблемы?
Рестарт в крон на определенный период поможет? это какой то накопительный эффект?
Какая система? Какая у вас виртуализация? Если она есть.
Покажите выводы этих команд

Код: Выделить всё

uname -r
free -h
df
Вывод вот этой команды на сейчас и второй раз, через пару дней:

Код: Выделить всё

systemctl status nginx -l
И еще несколько вопросов:
a) какая версия панели?
b) какая связка, apache+nginx или один nginx?
c) на каких версиях пхп сайты висят?

Ответить