Java 在spot实例上增加节点大小时,如何修复堆空间?

Java 在spot实例上增加节点大小时,如何修复堆空间?,java,jenkins,amazon-ec2,jenkins-plugins,Java,Jenkins,Amazon Ec2,Jenkins Plugins,我们一直使用EC2 Windows spot实例作为Jenkins从属,但是,当将大小从M5d2XLarge增加到M5d4XLarge(试图克服某些构建中的内存问题)时,无法创建这些实例 我试图将Java Opts Xms和Xmx设置为init脚本的一部分,但是错误没有改变。我已经读到WinRM可能是个问题,但我很难将其与节点大小的增加联系起来 这是预期的日志结果(来自M5d2XLarge) 但是,在“通过WinRM启动”之后,由于垃圾收集器问题(来自M5d4XLarge),它立即失败: 尝试更

我们一直使用EC2 Windows spot实例作为Jenkins从属,但是,当将大小从M5d2XLarge增加到M5d4XLarge(试图克服某些构建中的内存问题)时,无法创建这些实例

我试图将Java Opts Xms和Xmx设置为init脚本的一部分,但是错误没有改变。我已经读到WinRM可能是个问题,但我很难将其与节点大小的增加联系起来

这是预期的日志结果(来自M5d2XLarge)

但是,在“通过WinRM启动”之后,由于垃圾收集器问题(来自M5d4XLarge),它立即失败:


尝试更新运行
remoting.jar
的脚本。修改运行jar的这一行

java -Xmx1024m -jar C:\Windows\Temp\remoting.jar -workDir C:\Jenkins 

您可以检查实例上的可用内存吗?该错误表示无法满足垃圾收集的内存分配。我建议将以下标志添加到现有的Xms和Xmx选项:-XX:NativeMemoryTracking=summary-XX:+UnlockDiagnosticVMOptions-XX:+PrintNMTStatistics-XX:+HeapDumpOnAutoFMMemoryError-noverify这将显示内存的大小实际分配的。另外,JVM可能与实例上的其他进程竞争,因此您可能无法获得所需的所有内存
init script ran successfully remoting.jar sent remotely. Bootstrapping it 
Launching via WinRM:java -jar C:\Windows\Temp\remoting.jar -workDir C:\Jenkins 
Error occurred during initialization of VM
Unable to allocate 512384KB bitmaps for parallel garbage collection for the requested 16396288KB heap.
Ouch:
java.io.EOFException: unexpected stream termination
java -Xmx1024m -jar C:\Windows\Temp\remoting.jar -workDir C:\Jenkins