I would like to ask if there is a way to allow java to spawn its threads to multiple cores when I run a dockerized graylog image.
I would like to use a specific number of cores that are available in my systems.
Right now java uses only 2 cores while there are 10 in each node. Docker can identify that there are 10 cores in the system.
Any JAVA_OPTS flag that could enable that feature
Steps to Reproduce (for bugs)
There is a huge amount of messages arriving in the graylog cluster and the cluster is unable to process them. I have tried to adjust the [input,output,process]buffer_processors but this didn’t help. I think that the worst thing is that there are available resources but java doesn’t use them. This results to a very huge load (like 20-22), 100% usage at the first 2 cores of the system and also to the filling up of the journal.
Graylog is also installed in a different cluster without using docker and I’m not encountering this issue. The java threads are using all the cores.
processbuffer_processors = 5
outputbuffer_processors = 3
inputbuffer_processors = 2
message_journal_max_size = 20gb
GRAYLOG_SERVER_JAVA_OPTS=-Xms1g -Xmx4g -XX:NewRatio=1 -XX:MaxMetaspaceSize=256m -server -XX:+ResizeTLAB -XX:+UseConcMarkSweepGC -XX:+CMSConcurrentMTEnabled -XX:+CMSClassUnloadingEnabled -XX:+UseParNewGC -XX:-OmitStackTraceInFastThrow
- Graylog Version: 2.4.3-3
- Elasticsearch Version: 5.6.7
- MongoDB Version: 3.4.13
- Operating System: Centos-release-7
- Browser version: