Доброго времени суток. Серверная часть разменещна на 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 - независимо от пользователя съедает ровно одно ядро
Проблема в том, что при запуске под runit, readline получает EOF на каждый попытку прочитать консоль – чем и занимает одно ядро полностью.
В 1.2.6 я добавил параметр "-q", который полностью отключает интерактивную консоль.
Как временное решение - отключить консоль в коде и пересобрать сервер. Diff в аттаче.