1. 云栖社区>
  2. 技术文集>
  3. 列表>
  4. 正文

找到该死的OutOfMemoryError

作者:用户 来源:互联网 时间:2016-07-02 12:45:07

java内存objectoutofmemoryerrormathprofjava outofmemoryjava.langlangreflectJVisualVM

找到该死的OutOfMemoryError - 摘要: 本文讲的是找到该死的OutOfMemoryError,   看到下面这一堆信息, 我想你应该知道要做什么了.   main at java.lang.OutOfMemoryError.<init>()V (OutOfMemory

 


看到下面这一堆信息, 我想你应该知道要做什么了.

 

main
  at java.lang.OutOfMemoryError.<init>()V (OutOfMemoryError.java:48)
  at java.util.Arrays.copyOfRange([CII)[C (Arrays.java:2694)
  at java.lang.String.<init>([CII)V (String.java:203)
  at java.lang.StringBuilder.toString()Ljava/lang/String; (StringBuilder.java:405)
  at com.mkk.utils.GuidGeneratorTest.outOfMemory()V (GuidGeneratorTest.java:25)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (NativeMethodAccessorImpl.java:57)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (Method.java:601)

 

 

加大内存,加大内存, 内存溢出了, 于是我设置了

 

JAVA_OPTS=-server -Xms2048m -Xmx2048m -XX:PermSize=1024m -XX:MaxPermSize=512m -Xss512k

 

 

重启服务器, 没过多久又 OutOfMemoryError

 

是时候知道该死的OutOfMemoryError,

 

所以, 请给JAVA_OPTS添加 

 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/error

(注: 红色部分为服务器的一路径,当OutOfMemoryError是JVM信息会保存在该目录里)

 

 

再重启服务器,期待下一次的OutOfMemoryError吧.

 

是的, OutOfMemoryError又来了...

 

现在,去/home/error目录看看吧. 是否有类似java_pid6472.hprof的文件生成, 还很大(好几十或几百MB).

 

现在, 推荐去下载MAT(Memory Analyzer Tool)工具在看看是什么东东把内存都消耗完了(也可用JDK自带的jvisualvm.exe工具). 下载地址:

http://www.eclipse.org/mat/downloads.php

 

 

 

最后, 找到了源头. 去修改代码吧.

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有 的相关内容,欢迎继续使用右上角搜索按钮进行搜索java , 内存 , object , outofmemoryerror , mat , hprof , java outofmemory , java.lang , lang , reflect JVisualVM outofmemoryerror、out of memory error、安卓outofmemoryerror、mvn outofmemoryerror、onoutofmemoryerror,以便于您获取更多的相关知识。

linux weblogic 进控制台慢直接就OutOfMemoryError 内存已设置4g-8g

问题描述 linux weblogic 进控制台慢直接就OutOfMemoryError 内存已设置4g-8g weblogic.kernel.Default (self-tuning)&#039;" Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "[STANDBY] ExecuteTh...

asp.net 编译器错误信息: CS0006: 未能找到元数据文件 该死的.NET_实用技巧

编译器错误信息: CS0006: 未能找到元数据文件“C:\\WINDOWS\\assembly\\GAC_32\\System.EnterpriseServices\\2.0.0.0__b03f5f7f11d50a3a\\System.EnterpriseServices.dll” 提示这样的报错 郁闷 下面给出解决的方案 gacutil.exe for dotnet 2.0. 复制代码 代码如下: gacutil...

HTTP Status 500 - javax.servlet.ServletException: java.lang.OutOfMemoryError: PermGen space

...错误信息 HTTP Status 500 - javax.servlet.ServletException: java.lang.OutOfMemoryError: PermGen spacetype Exception reportmessage javax.servlet.ServletException: java.lang.OutOfMemoryError: PermGen spacedescription The server encountered an internal error that prevented it from fulfilling this r...

正确使用MySQL JDBC setFetchSize()方法解决JDBC处理大结果集 java.lang.OutOfMemoryError: Java hea

...我就使用一次查询,不使用limit分页。结果出现 java.lang.OutOfMemoryError: Java heap space问题。 看来是DB服务器端将一次将查询到的结果集全部发送到Java端保存在内存中。由于结果集比较大,所以出现OOM问题。 首先我想到的是游标功能...

该死的IEEE-754浮点数,说「约」就「约」,你的底线呢?以JS的名义来好好查查你

...dd("268.34","0.83");//返回 269.16999999999996 那么多问题,还真是该死的IEEE-754,而这一切都源于IEEE-754浮点数本身的格式,以及“说「约」就「约」”(舍入)的规则,致使精度丧失,计算沦丧,作为一个前端,我们就从JS的角度来扒一...

前三篇
后三篇