I have a question about how ES detect the available processors. Here is what I got:
"os" : {
"refresh_interval_in_millis" : 1000,
"name" : "Linux",
"arch" : "amd64",
"version" : "4.4.0-87-generic",
"available_processors" : 1,
"allocated_processors" : 4
}
The availabe_processors shows as 1. But in elasticsearch.yml, I use env $NUM_PROCESSORS (which is 4) to override this value
processors: $ {NUM_PROCESSORS: 1}
But looks like this doesn't works. I have versions, 6.5.4 has the issue but 6.2.4 doesn't. I searched around but couldn't find anything helpful here.
Could anyone share some ideas?
available_processors is a reflection of how many processors the Operating System reports to the JVM.
You can configure processors all you like, but if the host environment only has 1 processor, then we can't magically make 3 more appear.
your host reports 1 available processor, and you've allocated 4 to Elasticsearch. It looks like everything is working as configured (even though allocating more processors than are evailable doesn't actually make a lot of sense).
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.