马文抛出;java.lang.OutOfMemoryError“;生成确定火灾报告时
我知道这个问题一直都在出现,, 但没有一个解决方案对我成功 虽然我尝试了以上两种解决方案,也尝试了 其他答案仍然是我在下面的错误结束马文抛出;java.lang.OutOfMemoryError“;生成确定火灾报告时,java,multithreading,maven-surefire-plugin,Java,Multithreading,Maven Surefire Plugin,我知道这个问题一直都在出现,, 但没有一个解决方案对我成功 虽然我尝试了以上两种解决方案,也尝试了 其他答案仍然是我在下面的错误结束 17-Dec-2018 11:36:54 Exception in thread "ForkJoinPool.commonPool-worker-5" java.lang.OutOfMemoryError: unable to create new native thread 17-Dec-2018 11:36:54 at java
17-Dec-2018 11:36:54 Exception in thread "ForkJoinPool.commonPool-worker-5" java.lang.OutOfMemoryError: unable to create new native thread
17-Dec-2018 11:36:54 at java.lang.Thread.start0(Native Method)
17-Dec-2018 11:36:54 at java.lang.Thread.start(Thread.java:717)
17-Dec-2018 11:36:54 at java.util.concurrent.ForkJoinPool.createWorker(ForkJoinPool.java:1486)
17-Dec-2018 11:36:54 at java.util.concurrent.ForkJoinPool.tryAddWorker(ForkJoinPool.java:1517)
17-Dec-2018 11:36:54 at java.util.concurrent.ForkJoinPool.deregisterWorker(ForkJoinPool.java:1609)
17-Dec-2018 11:36:54 at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:167)
17-Dec-2018 11:36:54 Exception in thread "ForkJoinPool.commonPool-worker-0" java.lang.OutOfMemoryError: unable to create new native thread
17-Dec-2018 11:36:54 at java.lang.Thread.start0(Native Method)
17-Dec-2018 11:36:54 at java.lang.Thread.start(Thread.java:717)
17-Dec-2018 11:36:54 at java.util.concurrent.ForkJoinPool.createWorker(ForkJoinPool.java:1486)
17-Dec-2018 11:36:54 at java.util.concurrent.ForkJoinPool.tryAddWorker(ForkJoinPool.java:1517)
17-Dec-2018 11:36:54 at java.util.concurrent.ForkJoinPool.deregisterWorker(ForkJoinPool.java:1609)
17-Dec-2018 11:36:54 at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:167)
说清楚了,
我已经使用SureFire运行testng测试并相应地生成报告。。。因此,我首先应用了添加argline的方法,它没有帮助。然后,我尝试添加MAVEN_选项,并增加从256到1024的值,但都不起作用。最后,我添加了JAVA_工具选项,尽管我尝试指定了多个值,但仍然不起作用
还有其他选择可以尝试解决问题吗
不要标记此副本。。。我需要一个比现有解决方案更好的解决方案
已编辑
使用命令lscpu的硬件详细信息
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 8
On-line CPU(s) list: 0-7
Thread(s) per core: 1
Core(s) per socket: 4
Socket(s): 2
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 61
Model name: Intel Core Processor (Broadwell)
Stepping: 2
CPU MHz: 2197.454
BogoMIPS: 4394.90
Hypervisor vendor: KVM
Virtualization type: full
L1d cache: 32K
L1i cache: 32K
L2 cache: 4096K
NUMA node0 CPU(s): 0-7
操作系统详细信息使用uname-a
Linux pt-00-00 3.10.0-327.4.5.el7.x86_64 #1 SMP Thu Jan 21 04:10:29 EST 2016 x86_64 x86_64 x86_64 GNU/Linux
有关cat/proc/meminfo
MemTotal: 24517356 kB
MemFree: 24048256 kB
MemAvailable: 24054212 kB
Buffers: 35556 kB
Cached: 142932 kB
SwapCached: 0 kB
Active: 81092 kB
Inactive: 144820 kB
Active(anon): 47652 kB
Inactive(anon): 24724 kB
Active(file): 33440 kB
Inactive(file): 120096 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 4193276 kB
SwapFree: 4193276 kB
Dirty: 8 kB
Writeback: 0 kB
AnonPages: 47688 kB
Mapped: 40864 kB
Shmem: 24896 kB
Slab: 55872 kB
SReclaimable: 27304 kB
SUnreclaim: 28568 kB
KernelStack: 5520 kB
PageTables: 4180 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 16451952 kB
Committed_AS: 238360 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 169716 kB
VmallocChunk: 34359564288 kB
HardwareCorrupted: 0 kB
AnonHugePages: 12288 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 63344 kB
DirectMap2M: 25102336 kB
vmstat-s的详细信息
24517356 K total memory
234276 K used memory
81704 K active memory
145092 K inactive memory
24048760 K free memory
35656 K buffer memory
198664 K swap cache
4193276 K total swap
0 K used swap
4193276 K free swap
3630 non-nice user cpu ticks
24 nice user cpu ticks
6329 system cpu ticks
21548595 idle cpu ticks
1549 IO-wait cpu ticks
0 IRQ cpu ticks
16 softirq cpu ticks
25 stolen cpu ticks
142239 pages paged in
101165 pages paged out
0 pages swapped in
0 pages swapped out
1169647 interrupts
1713506 CPU context switches
1546461109 boot time
50951 forks
您可以如下配置maven surefire插件
:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>x.x.x</version>
<configuration>
<argLine>-Xmx2048m -XX:MaxPermSize=1024m</argLine>
</configuration>
</plugin>
org.apache.maven.plugins
maven surefire插件
x、 x.x
-Xmx2048m-XX:MaxPermSize=1024m
设置JVM参数。我假设surefire配置为在单独的JVM中运行。我没有得到它ClearUreFire插件启动单独的进程,它有自己的java选项。请参阅Eugen Covaci的答案以更改它们。我这样做了,顺便说一句,它已被列为解决方案。。。但它仍然无法尝试进一步增加内存限制。还要检查您是否可以在IDE中运行测试。也许这是它们的实际问题。忽略选项MaxPermSize=1024m;支持已在8.0中删除,并获得以下内容error@AmuD7删除-XX:MaxPermSize=1024m
部分您的JVM版本不支持它(在8.0中删除)。是的,我尝试了使用和不使用-XX:MaxPermSize=1024m
时的两种选择,但结果仍然是相同的错误。注意,显示的异常不一定是heapspace问题(尽管可能是因为堆太大),而是操作系统资源不足。