当前位置: 首页 > 知识库问答 >
问题:

超出GC开销限制以获取行计数

楚彦
2023-03-14

Im得到"GC开销限制超过"异常,同时试图获得行计数。你能让我知道是什么问题吗

Java代码:

try{
    rs = RtHelper.getResultSet(hm, sortColumn, sortOrder, con);
    if (rs != null) {
    rs.last();
    rowCountValue = rs.getRow();
    }
    }catch(Exception exception){

    }finally{
    if (rs!=null)
    rs.close();
    }

2014-05-08 00:27:47,948 ==== MYService.java ==== thread: jmsContainer-7349 ==== ERROR >
com....jms.MyService.printException() => (line: 263)
Exception: java.lang.OutOfMemoryERROR: GC overhead limit exceeded
at oracle.jdbc.driver.ScrollableResultSet.cacheCurrentRow(ScrollableResultSet.java:2257)
at oracle.jdbc.driver.ScrollableResultSet.cacheAllRows(ScrollableResultSet.java:2315)
at oracle.jdbc.driver.ScrollableResultSet.getLastRow(ScrollableResultSet.java:2368)
at oracle.jdbc.driver.ScrollableResultSet.last(ScrollableResultSet.java:477)
at org.apache.commons.dbcp.DelegatingResultSet.last(DelegatingResultSet.java:329)

共有1个答案

司凡
2023-03-14

可能是结果集数据大小对于可用的JVM堆内存来说太大。

如果有足够的RAM,可以增加Java堆大小。如果数据非常大,也可以批量检索结果。

根据可用的RAM添加这样的JVM参数,

-Xms512m -Xmx2g -XX:PermSize=512m  -XX:MaxPermSize=2g

本例将分配总共4 gb的内存。

 类似资料:
  • 使用当我尝试构建我的项目时,这种错误越来越多: 错误:任务“:app:CompiledEbugJavaWithJavac”执行失败。OutofMemoryError:超出GC开销限制 有什么办法解决这个问题吗?

  • 我正在尝试预处理一个大的txt文件(10G),并将其存储在二进制文件中以备将来使用。当代码运行时,速度会减慢,并以 异常线程"main"java.lang.OutOfMemoryError: GC开销限制超过 输入文件具有以下结构 这是我正在使用的代码: 基本上,它通过in文件并将数据存储到对象HMbicnt(这是一个哈希映射)。一旦在第二列中遇到新值,它应该将对象写入输出文件,释放内存并继续。

  • 问题内容: 我正在尝试建立一个包含2台服务器的Gridgain集群。 使用 GridDataLoader 将.csv文件中的数据(100万至5000万个数据)加载到Gridgain 。 从加载的数据中找到最小值,最大值,平均值等, 当在Eclipse中作为独立应用程序运行时,我得到正确的输出。 但是,在建立集群(eclipse环境中的2个服务器中的2个节点+我的Eclipse环境中的1个节点)的同

  • 问题内容: 我在一个程序中创建了这个错误,该程序创建了几个(数十万)HashMap对象,每个对象都有几个(15-20)文本条目。这些字符串必须全部收集(不分解成较小的数量),然后再提交给数据库。 根据Sun的说法,该错误发生“如果在垃圾回收上花费了太多时间:如果在垃圾回收上花费了总时间的98%以上,而回收不到2%的堆,则将引发OutOfMemoryError。 ”。 显然,可以使用命令行将参数传递

  • 问题内容: 我收到 java.lang.OutOfMemoryError: 在Android 1.4上运行gradle时, 超出了GC开销限制 …这是我的依赖: 如何解决? 问题答案: 将此添加到您的android闭包(构建gradle): 这样可以解决您的问题。不过,如果您遇到问题,请参见以下链接 GC开销限制超出错误

  • 我试图用火花处理10GB的数据,它给了我这个错误, Java语言lang.OutOfMemoryError:超出GC开销限制 笔记本电脑配置为:4CPU,8个逻辑内核,8GB RAM 提交Spark作业时进行Spark配置。 在网上搜索了这个错误后,我有几个问题 如果回答,那将是一个很大的帮助。 1) Spark是内存计算引擎,用于处理10 gb的数据,系统应具有10 gb的RAM。Spark将1