java.lang.OutOfMemoryError:java堆空间-Appium-TestNG套件

java.lang.OutOfMemoryError:java堆空间-Appium-TestNG套件,java,eclipse,import-from-excel,Java,Eclipse,Import From Excel,在Windows机器上运行Appium Android测试脚本时,我们看到Java堆空间异常。我们使用ApachePOI读取测试数据表。直到第11个脚本套件正常运行,从第12个脚本开始,Java堆空间异常 我在系统环境变量中增加了heap和prem空间在这里输入code,并在Eclipse中增加了TestNG运行配置。有时没有问题,有时Java堆空间出现异常 在下面的消息中,我怀疑使用fileinputstream读取测试数据表,基于其他论坛,虽然测试数据没有大量数据,但加载时需要更多内存 我使

在Windows机器上运行Appium Android测试脚本时,我们看到Java堆空间异常。我们使用ApachePOI读取测试数据表。直到第11个脚本套件正常运行,从第12个脚本开始,Java堆空间异常

我在系统环境变量中增加了heap和prem空间
在这里输入code
,并在Eclipse中增加了TestNG运行配置。有时没有问题,有时Java堆空间出现异常

在下面的消息中,我怀疑使用fileinputstream读取测试数据表,基于其他论坛,虽然测试数据没有大量数据,但加载时需要更多内存

我使用的代码是:

File strExecutionConfigFile = new File(
            strImportedExecutionConfigFilePath);

try {
        strInputExecutionConfigFile = new FileInputStream(
                strExecutionConfigFile);
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    try {
        objExecutionConfigWKB = new XSSFWorkbook(
                strInputExecutionConfigFile);
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
我发现XSSF读卡器格式将消耗低内存。可以提供关于此的代码

您可以访问下面的Java堆空间异常链接


您需要检查堆转储。添加以下VM参数:

-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/some/location
下一次当你收到OOME时,这将转储如下内容

java_pid27643.hprof
然后使用jvisualvm加载heapdump。linux中的命令是:

$ jvisualvm &
您需要加载并检查转储文件,并尝试找出导致OOME的原因。文件