即使禁用了TestNG侦听器/报告器,OutOfMemoryError也是如此

时间:2016-12-09 17:16:28

标签: java maven testng heap

我目前正在尝试在具有4GB RAM的32位Windows计算机上运行大约100,000次测试。我已使用命令-usedefaultlisteners false禁用了默认侦听器,并且我没有配置任何自定义侦听器/报告器。但是,该套件因以下堆栈跟踪而失败:

Exception in thread "pool-2-thread-5" Exception in thread "pool-2-thread-7" java.lang.OutOfMemoryError: Java heap space
java.lang.OutOfMemoryError: Java heap space
Exception in thread "pool-2-thread-2" java.lang.OutOfMemoryError: Java heap space
Exception in thread "pool-2-thread-6" java.lang.OutOfMemoryError: Java heap space
Exception in thread "pool-2-thread-4" java.lang.OutOfMemoryError: Java heap space
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space

即使没有听众,TestNG配置是否可能需要超过4GB的RAM?

什么过程需要这么多内存?

是否有任何优化/解决方法让这些测试运行?

1 个答案:

答案 0 :(得分:1)

你的硬件有4GB Ram的事实并不意味着它全部用于JVM堆。堆大小具有由参数<html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script> <style> form{ width: 98.5%; height: 90%; } div{ position: absolute; } #leftContent, #rightContent{ width: 50%; height: 80%; } #bottomContent{ bottom: 5%; width: 99%; height: 10%; } textarea{ width: 100%; height: 100%; } #rightContent{ right: 10px; } input[type="submit"]{ width: 100%; height: 100%; font-weight: bold; font-size: 76px; } </style> </head> <body> <form id="form" onsubmit="return false;"> <div id="leftContent"><textarea id="textarea" class="left" name="insertText">Insert text</textarea></div> <div id="rightContent"><textarea readonly id="textarea" class="right" name="resultText">Result</textarea></div> <div id="bottomContent"><input id="submit" type="submit" name="submit" value="Process Text"/></div> </form> <script type="text/javascript"> //Short code function matchRuleShort(str, rule) { return new RegExp("^" + rule.split("*").join(".*") + "$").test(str); } //Form send $("form").submit(function(e){ var insert = $(".left").val(); //left field if(insert == "Vul tekst in" || insert == ""){ //Check if inserted text $(".right").html("Please change the text!"); }else{ var result = $("<div>" + insert + "</div>"); result.find('h2') .replaceWith(function(){ return this.childNodes }); //This removes the entire <h2> tag var res = result.html(); $(".right").html(res); //alert(matchRuleShort(insert, '<h2*')); //returns true: h2 tag found //$(".right").html(result); } }); </script> </body> </html> 定义的最大值。

在您的情况下,如果有4GB可用,我会尝试使用此选项运行测试:

-Xmx

这将允许堆最多2GB。