In Juno with CentOS
[root@opjuno ~(keystone_admin)]# pstree -p -s -G 3235
systemd(1)---neutron-server(3235)-+-neutron-server(3245)
+-neutron-server(3246)
+-neutron-server(3247)
+-neutron-server(3248)
+-neutron-server(3249)
+-neutron-server(3250)
+-neutron-server(3251)
+-neutron-server(3252)
+-neutron-server(3253)
+-neutron-server(3254)
+-neutron-server(3255)
+-neutron-server(3256)
+-neutron-server(3257)
+-neutron-server(3258)
+-neutron-server(3259)
+-neutron-server(3260)
+-neutron-server(3261)
+-neutron-server(3263)
+-neutron-server(3264)
+-neutron-server(3265)
+-neutron-server(3266)
+-neutron-server(3267)
+-neutron-server(3268)
+-neutron-server(3269)
In Icehouse, Redhat 6.5
, there is only one neutron-server process:
[root@redhatOpenstack1 ~]# ps aux|grep neutron-server
neutron 2995 0.3 0.1 393112 63136 ? S Mar22 188:02 /usr/bin/python /usr/bin/neutron-server --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugin.ini --log-file /var/log/neutron/server.log
Could someone tell me why we have multiple processes for neutron-server in Juno?
It's typical for python to have master and workers. For neutron it's controlled by 'api_workers' variable in neutron.conf.
Guessing by number you have 24 core computer (12 cores and HT?). You got 25 processes: 1 master and 1 worker per core.
Continue guessing: maintainer of distro decide to set up worker counter according to available cores.
It is the optimal configuration (if you have 24 cores and have enough memory, about 500Mb in peak, per worker).