找到该死的OutOfMemoryError

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

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

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

(0)

相关推荐

  • win7系统如何找到隐藏的木马病毒

    具体方法如下: 1.集成到程序中 其实木马也是一个服务器-客户端程序,它为了不让用户能轻易地把它删除,就常常集成到程序里,一旦用户激活木马程序,那么木马文件和某一应用程序捆绑在一起,然后上传到服务端覆 ...

  • 如何解决java.lang.OutOfMemoryError

    在intellj idea中,当项目中的模块很多时,在启动项目的时候,会报java.lang.OutOfMemoryError:PermGen space错误. 操作方法 01 PermGen spa ...

  • "因所依赖的软件包未找到或存在冲突软件包"完美解决方案!不需要Bigboss

    5.1.1完美越狱放出!第一时间升级我的设备......我的ipad2和iphone4S都是5.0.1 9A406的完美越狱 果断升级----越狱----一次搞定。 但是!!!进入CYDIA源 添加了 ...

  • 如何找到被酷我音乐盒缓存的歌曲?酷我音乐盒歌曲下载

    缓存里面的歌曲,被酷我音乐关联的文件,是可以直接打开的,有些可能缓冲没有完成,也无法打开,缓存的地址可以自定义设置,但是缓存的音乐在哪里可以找到呢?下面小编就给大家讲解一下。 方法/步骤 1、下载安装 ...

  • 无线网络连不上只显示找到一个无线宽带连接

    现在无线网络比较普及了,笔记本大多也带无线功能,电脑屏幕上显示找到一个无线宽带连接,但无线网络连不上,这种事屡见不鲜,无线网络连不上是怎么回事呢? 问题1 忘记打开浏览器。一些需要付费使用的无线宽带连 ...

  • 修复无线网卡无法找到信号

    修复无线网卡无法找到信号

  • win8如何打开cmd win8如何找到运行cmd

    Windows 8是由微软公司开发的,具有革命性变化的操作系统。该系统旨在让人们的日常电脑操作更加简单和快捷,为人们提供高效易行的工作环境Windows 8支持来自Intel、AMD和ARM的芯片架构 ...

  • 卸载2003 service pack2|ntservicepackuninstall未找到文件

    于是通过控制面版里的添加/删除工具卸载service pack2,但卸载到一半提示,未找到文件。卸载中止。然后我又使用命令行方式卸载,但结果一样。请问还有没有其它的方法卸载service pack2, ...

  • 无线网卡无法找到信号的解决方法[已测]

    新买了无线路由器,准备把本本上停用的无线网卡恢复使用,通常在BIOS中启用无线网卡并在系统中安装驱动程序,能让无线网卡正常工作了。但是不知为什么,无线网卡无法找到信号,如果我们也遇见过这样的事,下面教 ...