在单个 docker 容器上运行 apache-jmeter 测试时,我面临以下问题。
[489.013s][warning][os,thread] 无法启动线程 - 属性的 pthread_create 失败(EAGAIN):stacksize:1024k,guardsize:0k,已分离。未捕获的异常 java.lang.OutOfMemoryError:无法创建本机线程:可能内存不足或达到进程/资源限制。有关详细信息,请参阅日志文件。
我无法生成超过 2k 并发的负载。即使在同一 docker 主机上的分布式模式下,我也很容易实现 5k 用户并发。似乎单个 docker 容器没有充分利用可用的 CPU 和内存。
以下是配置:
- 服务器内存 - 90GB
- CPU 数量 - 16
- 容器的上限 (ulimit -n) - 1048576
- Java - 打开 jdk-14
- JVM 参数 - -Xms80G -XMX80G