docker 上的 Nexus sonatype/nexus3:3.17.0 告诉它只使用一个 cpu
Nexus sonatype/nexus3:3.17.0 on docker tells its using only one cpu
im 运行 4 上的 Nexus 3 CPU Docker 主机仅限制容器的 RAM 使用。
从 3.16.1 升级到 sonatype/nexus3:3.17.0 后,Nexus 在管理后端的状态页面上告诉我:
可用CPUs:主机系统正在为应用程序分配最多 1 个核心。建议最少 4 个。
我不知道为什么还要显示
所以我进入了 nexus 容器并检索了一些信息,其中有多少个内核
cat /proc/cpuinfo | awk '/^processor/{print }' | wc -l
结果:4
有人知道这里出了什么问题吗?
终于发现问题所在了
Java 及其蹩脚的 docker 实现。
因此,如果您希望 JavaVM 完全识别所有主机 cpu,则必须设置正确的 JAVA_OPTS。
对于 Nexus 这意味着:
INSTALL4J_ADD_VM_PARAMS=-XX:ActiveProcessorCount=<NUMBER_OF_CORES>
Et voila - Nexus 状态页面获得了适量的 CPU 核心。
im 运行 4 上的 Nexus 3 CPU Docker 主机仅限制容器的 RAM 使用。
从 3.16.1 升级到 sonatype/nexus3:3.17.0 后,Nexus 在管理后端的状态页面上告诉我:
可用CPUs:主机系统正在为应用程序分配最多 1 个核心。建议最少 4 个。
我不知道为什么还要显示
所以我进入了 nexus 容器并检索了一些信息,其中有多少个内核
cat /proc/cpuinfo | awk '/^processor/{print }' | wc -l
结果:4
有人知道这里出了什么问题吗?
终于发现问题所在了
Java 及其蹩脚的 docker 实现。
因此,如果您希望 JavaVM 完全识别所有主机 cpu,则必须设置正确的 JAVA_OPTS。
对于 Nexus 这意味着:
INSTALL4J_ADD_VM_PARAMS=-XX:ActiveProcessorCount=<NUMBER_OF_CORES>
Et voila - Nexus 状态页面获得了适量的 CPU 核心。