我的问题更多地在Java线程方面.但是对于OS级别的线程,它可能也更通用.
JAVA特定:ThreadPool Tuning Size的意义是什么(公式)?带有容器的冲击性能及其在发动机罩下的行为. (我想我可以理解cpu集,但不能理解cpu份额,我知道什么是cpu份额,只是不了解线程在这里的行为).
因此,我读了一篇有关java in containers(在CloudFoundary上运行应用程序时观察到的),3和enhancements的文章,这些文章已引入JDK 10中以检测容器限制.
在上述文章中:
Let’s take a short look at how the JVM adjust to the number of processors/cores available on the node it is running on. There are actually a number of parameters which by default are initialized based on core count.
So if the normal default values for GC-threads, JIT Threads etc are the total number of ‘cores’ available.
现在,如果
the number_of_cpus() will be calculated based on cpu_shares()/1024
然后,在假设CPU份额为512的情况下,此计算将得出0.(然后,我假定该值将舍入为1 ??).
那如何运作呢?