我有一个java Spring应用程序在AWS C4上运行。大(4 Gb内存)与Apache Tomcat 8.我得到java.lang.OutOfMemoryError GCOverhead限制超过错误,同时在服务器启动期间实例化30000条记录的bean。
引起原因:org.springframework.beans.BeanInstantiation异常:未能实例化[java.lang.字符串]:工厂方法'loadBeanMaps'抛出异常;嵌套异常java.lang.OutOfMemoryError: GC开销限制超过
但是我的free-m
输出,
缓存的可用共享缓冲区总数Mem:3765 1706 2059 0 29 446-/缓冲区/缓存: 1230 2534交换: 0 0 0
想知道如何查看设置的限制?是基于html" target="_blank">服务器容量的百分比。因为当我改变我的服务器m4.large(8 Gb内存服务器)没有得到这个错误。如何查看这个限制?如何处理这个错误?
好的,首先看一下应用程序是否有内存泄漏。您可以查看类直方图来检查内存泄漏。您可以为此使用jcmd实用程序。
如果这是在类似linux的操作系统上,那么可以检查内存参数simple grepping the tomcat进程。
ps -ef | grep tomcat
默认情况下,如果您在GC中花费的时间超过了总时间的98%,并且在GC恢复后,堆的恢复不足2%,JVM将被配置为抛出此错误。
根据我个人的经验,增加堆的大小可以解决这个问题,前提是它不是内存泄漏。
您必须检查进程的JVM选项
使用以下命令获取所有正在运行Java进程的详细信息
jps -mlvV
jps
附带Jdk
安装,它应该在Jdk/bin
这将为您提供如下输出
10780 -Dosgi.requiredJavaVersion=1.7 -Xms40m -XX:MaxPermSize=256m -Xverify:none -Dorg.eclipse.swt.browser.IEVersion=10001 -Xmx1200m -javaagent:lombok.jar -Dfile.encoding=UTF-8
识别java应用的进程,并查看Xmx
参数中的值
tabledata期间出错。包含消息的列表: 未在中列出https://cloud.google.com/bigquery/troubleshooting-errors#errortable . 每次都会发生此错误。 我们可以正常地将此表导出到GCS中。结果看起来正常(没有非常大的行)。 我们设法在实际错误发生之前检索几个结果页。 这是什么意思?我们如何解决这个错误?
我使用Jmeter将工作负载注入部署在AWS EC2实例上的应用程序。测试必须非常庞大:它持续10个小时,工作负载配置文件具有双峰形状,在5分钟内大约有2600个请求。实际上我有一个m3。部署应用程序的xlarge实例,8 m3。xlarge实例每个实例运行一个jmeter实例。使用python脚本,要注入的工作负载在8个客户机实例之间进行分割,因此在示例中,如果原始工作负载要注入800个请求,那
在Android Studio1.5.1只是通过移动源代码从一个系统到另一个即使干净的构建是成功的,但当代码运行我得到这种错误 java.lang.OutOfMemoryError: GC开销限制超过错误:任务': app: dexDebug'执行失败。 我在应用程序中添加了以下代码。格拉德尔还:
在我的jenkins工作中,我得到这个错误为我的bot用户。我的限制是5000,我看到每秒钟大约有100个请求,我不确定哪个工作/服务正在使用机器人的请求。理想情况下,我的其他jenkins工作应该每分钟最多占用1个请求。 有没有办法找出是什么导致了如此高的请求率?或者任何API调用来列出在最后一分钟内进行的所有API调用或类似的东西?
我们有一个使用Gmail API访问Gmail中电子邮件的应用程序。 我们随机得到以下错误消息 谷歌。API。请求。RequestError Rate Limit Excessed[超过429]错误[消息[超过速率限制]位置[-]原因[超过速率限制]域[使用权限]] 然后我们在错误事件代码中重试,并得到 谷歌。API。请求。RequestError后端错误[500]错误[消息[后端错误]位置[-]
我的Hippo应用程序失败主要是在与我的数据库进行连接时,GC开销超过了限制,有时低于错误。 javax。jcr。RepositoryException:未经检查的异常:java。lang.OutOfMemoryError:Java堆空间 我试图尽可能地清理我的后端。我知道垃圾收集器占用的时间太长,每次运行时恢复的内存很少。所以我需要更新我的堆大小,也可以使用-XX:-usegcoveredlim