NetXMS Support Forum

Russian Support => Общие вопросы => Topic started by: kdmal on January 18, 2013, 08:47:29 PM

Title: Странная загрузка процессора при запуске сервера из под runit
Post by: kdmal on January 18, 2013, 08:47:29 PM
Доброго времени суток. Серверная часть разменещна на FreeBSD 9.1-STABLE #91 r245530+b7bf841.

Собиралась из исходников:
./configure --prefix=/opt/netxms --with-agent --with-server --with-pgsql

При запуске в консоле:
./netxmsd -c /opt/etc/netxms/netxmsd.conf
Процесс стартует и тихо себе живет, минимально потребляя CPU

Так же тихо живет при запуске как демон:
./netxmsd -d -c /opt/etc/netxms/netxmsd.conf
Процессор не кушает

При запуске из-под runit (http://smarden.org/runit/) процесс съедает ровно одно ядро на 100%. В runit запускается так:
% cat /services/netxms-server/run
#!/bin/sh
exec 2>&1

command="/opt/netxms/bin/netxmsd"
command_args="-c /opt/etc/netxms/netxmsd.conf"

/usr/local/sbin/chpst -u netxms  ${command} ${command_args}


В какую сторону нужно копать?

PS: в консоли ест мало процессора, как при запуске от root так и от пользователя netxms, при запуске из runit - независимо от пользователя съедает ровно одно ядро
Title: Re: Странная загрузка процессора при запуске сервера из под runit
Post by: Alex Kirhenshtein on January 29, 2013, 12:21:37 PM
Проблема в том, что при запуске под runit, readline получает EOF на каждый попытку прочитать консоль – чем и занимает одно ядро полностью.
В 1.2.6 я добавил параметр "-q", который полностью отключает интерактивную консоль.
Как временное решение - отключить консоль в коде и пересобрать сервер. Diff в аттаче.