JVM 如何获取当前容器的资源限制?
出处:
mp.weixin.qq.com
作者:
卜比
最近同事说到 Java 的ParallelGCThreads 参数,我翻了下 jdk8 的代码,发现 ParallelGCThreads 的参数默认值如下: 如果 cpu 核心数目少于等于 8,则 GC 线程数量和 CPU 数一致 如果 cpu 核心数大于 8,则前 8 个核,每个核心对应一个 GC 线;其他核,每 8 个核对应 5 个 GC 线程 但是被提醒,发现即使在分配 4 核的容器上,GC 线程数也为 38。然后就想到应该和容器的资源限制有关—— jvm 可能无法觉察到当前容器的资源限制。 翻了下代码,发现最新版本的 java 是能感知容器的资源限制的,就按照jdk版本再翻了下代码。