Дмитрий написал: Здравствуйте VMBitrix 7.3.4. Периодически перезапускается процесс mysqld. Иногда случается несколько раз на день. Сообщение из messages:
Разобрался, почему была ошибка 404 при проверке челенджа. Не добавлялся include в конфиги site_avaliable. прописал ручками и поддомены получили сертификаты.
У меня 2 вопроса:
почему "include bx/conf/letsencrypt-challenge-tokens.conf" не прописывается сам (куда его лучше прописать: каждому поддомену или сразу в bitrix.conf)?
как прописать сертификат на главный домен example.com? В меню его нет, есть только default. А dehydrated говорит:
Код
Processing a.example.com with alternative names: b.example.com
# free
total used free shared buff/cache available
Mem: 3880404 1774084 257612 965204 1848708 852580
Swap: 0 0 0
Что посоветуете?
там жеж написано что OOMом убивается свап ей накинь
До этого стояла версия VMBitrix 7.1. Подобных "убиваний" не было, с теми же сайтами и нагрузками. Сейчас на двух машинах установили 7.3.4. И таким вот образом проявляется нехватка памяти на обоих.
Здесь точно проблема в нехватке, а не в разбалансированности настроек mysql, apache и т.д.? Раньше то памяти хватало.
В продолжение темы перезагрузки mysqld ядром (oom-killer) продолжаются. Часть сегодняшнего лога:
Код
kernel: mysqld invoked oom-killer: gfp_mask=0x201da, order=0, oom_score_adj=0
kernel: mysqld cpuset=/ mems_allowed=0
kernel: CPU: 1 PID: 8736 Comm: mysqld Kdump: loaded Not tainted 3.10.0-957.5.1.el7.x86_64 #1
[...]
kernel: Out of memory: Kill process 8697 (mysqld) score 393 or sacrifice child
kernel: Killed process 8697 (mysqld) total-vm:2929632kB, anon-rss:1521832kB, file-rss:0kB, shmem-
Если я правильно понимаю, то процесс mysql занимает 1,5Гб RAM. Так же в опущенной части лога видно, что на момент убийства mysql было 35 процессов httpd, которые суммарно занимали больше памяти, чем mysqld. Можно ли на уровне конфигурации nginx настроить, чтобы не создавалось такое количество одновременных запросов к httpd? Чтобы они вставали в очередью Есть слабое подозрение дело в этом.
Если я правильно понимаю, то процесс mysql занимает 1,5Гб RAM. Так же в опущенной части лога видно, что на момент убийства mysql было 35 процессов httpd, которые суммарно занимали больше памяти, чем mysqld. Можно ли на уровне конфигурации nginx настроить, чтобы не создавалось такое количество одновременных запросов к httpd? Чтобы они вставали в очередью Есть слабое подозрение дело в этом.
7.0.0 у меня спокойно работала на 1гб рамы, щас для нового тестового я 2 минимум ставлю. Докиньте свап и сравните. Цена прогресса - немного больше ресурсов
Прошу представителей Битрикс ответить на вопрос с нехваткой памяти на VMBitrix 7.3.4. Как я уже писал выше, oom-killer мочит mysqld. И оказывается не только его:
Как известно, VMBitrix сам производит настройки сервисов в плане использования памяти:
Цитата
При запуске виртуальной машины BitrixVM или физического сервера с установленным пакетом BitrixEnv сервисом bvat автоматически настраиваются основные параметры Apache, PHP, MySQL в зависимости от количества доступной памяти
Можно ли допустить, что эти настройки не достаточно сбалансированы, таким образом сервисы требуют памяти больше, чем её имеется в системе. Предположение подкрепляется тем, что проблема наблюдается у нас на двух VM, у одной 2Гб памяти, и у другой 4Гб.
Что и где можно подкорректировать, чтобы система начала работать стабильно?
Дмитрий написал: Как я уже писал выше, oom-killer мочит mysqld. И оказывается не только его:
я уже писал, накиньте своп, сделали? подключите мониторинг и смотрите в динамике когда это бывает
как писал ранее 2гб это разумный минимум для 7.3.4 сейчас
Swap не включали. 4Гб должно быть достаточно для работы Mysql и Apached. BitrixVM производит настройку этих программ с учетом размера памяти. Вопрос в том, что нет ли в этих настройках такой ошибки, что объем памяти, заложенный на Mysql и Apache в сумме превышают возможности системы.
Дмитрий написал: 4Гб должно быть достаточно для работы Mysql и Apached. BitrixVM производит настройку этих программ с учетом размера памяти.Вопрос в том, что нет ли в этих настройках такой ошибки, что объем памяти, заложенный на Mysql и Apache в сумме превышают возможности системы.
возможно вы забыли еще учесть нужды самой операционной системы на ОС еще пару гигабайт надо
Дмитрий написал: 4Гб должно быть достаточно для работы Mysql и Apached. BitrixVM производит настройку этих программ с учетом размера памяти.Вопрос в том, что нет ли в этих настройках такой ошибки, что объем памяти, заложенный на Mysql и Apache в сумме превышают возможности системы.
возможно вы забыли еще учесть нужды самой операционной системы на ОС еще пару гигабайт надо
Нужды системы безусловно требуют внимания. Но я пытаюсь донести мысль, что на VM с 2 Гб памяти есть такая проблема. И остается она при увеличение памяти в два раза (до 4Гб). Не уверен, что вывод верный, но выходит, что BitrixVM настраивает Apache и Mysql так, что они не могут работать с имеющимся объемом памяти (без swap). Если увеличим память еще в 2 раза, то будет тоже самое?
Есть возможность настроить Apache и Mysql так, чтобы они умещались в имеющийся объём памяти? Что для этого нужно? Уменьшать MaxClients?
MaxClients уже видимо не причём в связи с использованием prefork. В файле /etc/httpd/bx/conf/prefork.conf устанавливаются настройки в зависимости от объёма памяти.
Если ужать эти настройки с 18 до, скажем, 5, чем это может грозить? Я правильно понимаю, что при количестве одновременных запросов большем чем 5 будет образовываться очередь? Но может быть это не страшно, учитывая, что статику отдает Nginx.
./bitrix-env.sh: line 362: get_mysql_package: command not found ./bitrix-env.sh: line 365: my_start: command not found ./bitrix-env.sh: line 368: log_to_file: command not found ./bitrix-env.sh: line 398: log_to_file: command not found ./bitrix-env.sh: line 399: my_query: command not found ./bitrix-env.sh: line 402: log_to_file: command not found ./bitrix-env.sh: line 419: log_to_file: command not found ./bitrix-env.sh: line 437: my_config: command not found ./bitrix-env.sh: line 474: my_additional_security: command not found ./bitrix-env.sh: line 475: log_to_file: command not found ./bitrix-env.sh: line 572: update_crypto_key: command not found [root@bitrix24 tmp]# get_mysql_package -bash: get_mysql_package: command not found [root@bitrix24 tmp]#
./bitrix-env.sh: line 362: get_mysql_package: command not found ./bitrix-env.sh: line 365: my_start: command not found ./bitrix-env.sh: line 368: log_to_file: command not found ./bitrix-env.sh: line 398: log_to_file: command not found ./bitrix-env.sh: line 399: my_query: command not found ./bitrix-env.sh: line 402: log_to_file: command not found ./bitrix-env.sh: line 419: log_to_file: command not found ./bitrix-env.sh: line 437: my_config: command not found ./bitrix-env.sh: line 474: my_additional_security: command not found ./bitrix-env.sh: line 475: log_to_file: command not found ./bitrix-env.sh: line 572: update_crypto_key: command not found [root@bitrix24 tmp]# get_mysql_package -bash: get_mysql_package: command not found [root@bitrix24 tmp]#
так вы устанавливаете или обновляете? обновлять можно yum update или из CLI (menu 1=>4)
и запустите без -s что она вам напишет
да и релиз центоси у вас какой то странный о_О может всё таки 7.6.1810?
Konstantin Smirnov написал: Не получается обновить виртуалку vmware.
Исходные данные:
Bitrix VM appliance 7.0.1 Kernel: 3.10.0-957.10.1.el7.x86_64 OS: CentOS Linux release 7.8.18.10 (Core)
так вы устанавливаете или обновляете? обновлять можно yum update или из CLI (menu 1=>4)
и запустите без -s что она вам напишет
да и релиз центоси у вас какой то странный о_О может всё таки 7.6.1810?
Обновляю установленную, как и написал выше. Меню 1, 4 обновилось, версия ядра и оси слегка увеличилась, но виртуалка так и осталась 7.0.1. PHP и MariaDB тоже остались древних версий
При обновлении через меню, такое тоже промелькивает. Как сделать, чтобы увиделся репозиторий битрикса пока не догадался. Битрикс у меня не демо, поддержка проплачена до конца лета.
у меня подобные ошибки были когда я битрикс на редхат и оракл ставил что у вас тут
Код
cat /etc/redhat-release
а вообще совет, сделайте бэкап разверните нормальную ВМ (не из битриксового образа для vmware, а на норманом VPS где нибудь у хостера) и перенесите бэкап
Я откатил на состояние, которое было до попыток обновления. CentOS Linux release 7.3.1611 (Core) А после попыток было: CentOS Linux release 7.8.1810 (Core)
Konstantin Smirnov написал: Обновляю установленную, как и написал выше. Меню 1, 4 обновилось, версия ядра и оси слегка увеличилась, но виртуалка так и осталась 7.0.1. PHP и MariaDB тоже остались древних версий
Konstantin Smirnov, машина при таких манипуляциях никогда не обновляла php/mysql на версии выше. Используйте меню и сделайте апгрейд если нужно.