马文抛出;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问题(尽管可能是因为堆太大),而是操作系统资源不足。