解决方案 »
- spring官方包有例子程序吗,我刚下了3.0.4,没有例子啊
- ognl 获取map的值问题
- excel转换pdf 带图片
- HttpClient的getResponseBodyAsString()返回空字符串啊怎么回事
- 那位大哥有struts-menu的标签 struts-menu.tld, struts-menu-el.tld 这两个文件
- 为什么过滤器无效,在struts中?
- 500分请教struts问题
- 关于jsp与ejb对话时的中文问题--很急很急,高手请进来!
- rose 2003哪里有下载??
- 我想要一些简单java api的源代码!怎么获得??
- 妹子要做程序员了,求指引
- java连接MySQL数据库,查询语句中含有中文无法查询
tomcat 的垃圾回收gc日志;
2.利用java1.6及以上版本的jmap命令,生成内存快照
$jmap -dump:format=b,file=new.bin pid
3.利用1.6以上jdk自带的 jvisualvm工具分析快照,找到比较大的内存,分析原因。
内存溢出时,提示是heap溢出;
内存溢出时,提示是heap溢出;
java.lang.OutOfMemoryError: Java heap space 这个异常时堆小了,调大点比如-Xmx=2g
内存溢出时,提示是heap溢出;
java.lang.OutOfMemoryError: Java heap space 这个异常时堆小了,调大点比如-Xmx=2gcatalina.sh里的配置:
JAVA_OPTS='-server -Xms2000m -Xmx2000m -Xss256k -XX:+HeapDumpOnOutOfMemoryError -Djava.library.path=/usr/local/apr/lib -XX:+PrintGC
Details -XX:+PrintGCDateStamps -Xloggc:/home/admin/logs/gc.log'内存溢出现场:
http://bbs.csdn.net/topics/390893842
分析gc日志结果:
http://bbs.csdn.net/topics/390863792
拉个DUMP看下老年代中的东西是否是必须的? 如果不是代码问题,就调大点吧~
内存溢出时,提示是heap溢出;
java.lang.OutOfMemoryError: Java heap space 这个异常时堆小了,调大点比如-Xmx=2gcatalina.sh里的配置:
JAVA_OPTS='-server -Xms2000m -Xmx2000m -Xss256k -XX:+HeapDumpOnOutOfMemoryError -Djava.library.path=/usr/local/apr/lib -XX:+PrintGC
Details -XX:+PrintGCDateStamps -Xloggc:/home/admin/logs/gc.log'内存溢出现场:
http://bbs.csdn.net/topics/390893842
分析gc日志结果:
http://bbs.csdn.net/topics/390863792
从你贴出来的来看,多半有内存泄露了,不过你贴出的信息太少了,分析不了
jmap的结果;mysql jdbc的对象是不是有点多? jmap -histo 10669|more num #instances #bytes class name
----------------------------------------------
1: 2842898 1317211320 [C
2: 3942746 159262032 [B
3: 130572 84684696 [I
4: 1743215 55782880 java.lang.String
5: 655017 26200680 java.util.TreeMap$Entry
6: 309746 21621048 [[B
7: 1094056 17504896 java.lang.Integer
8: 235027 15041728 com.mysql.jdbc.ConnectionPropertiesImpl$BooleanConnectionProperty
9: 163348 13794056 [Ljava.lang.Object;
10: 274642 13182816 java.nio.HeapCharBuffer
11: 273811 13142928 java.nio.HeapByteBuffer
12: 403245 12903840 java.util.Hashtable$Entry
13: 43927 6790680 <constMethodKlass>
14: 188006 6016192 java.util.HashMap$Entry
15: 43927 5985624 <methodKlass>
16: 212214 5093136 com.mysql.jdbc.ByteArrayRow
17: 3571 4506048 <constantPoolKlass>
18: 60502 3872128 com.mysql.jdbc.ConnectionPropertiesImpl$StringConnectionProperty
19: 59792 3826688 com.mysql.jdbc.ConnectionPropertiesImpl$BooleanConnectionProperty
20: 64070 3718080 <symbolKlass>
21: 20168 3668744 [Ljava.lang.String;
22: 48867 3518424 com.mysql.jdbc.ConnectionPropertiesImpl$IntegerConnectionProperty
23: 15260 3419272 [Ljava.util.HashMap$Entry;
24: 9945 3135984 [Ljava.util.Hashtable$Entry;
25: 3571 2796000 <instanceKlassKlass>
26: 3097 2777320 <constantPoolCacheKlass>
27: 2327 2382848 com.mysql.jdbc.JDBC4Connection
28: 3341 2245944 <methodDataKlass>
29: 86925 2086200 com.mysql.jdbc.ByteArrayRow
30: 42754 2052192 java.util.TreeMap
31: 82306 1975344 java.util.ArrayList
32: 12916 1859904 com.mysql.jdbc.Field
33: 57275 1854944 [Z
34: 53430 1709760 java.sql.Timestamp
35: 11910 1429200 css.core.Health
36: 8637 1381920 com.mysql.jdbc.JDBC4ResultSet
37: 52285 1254840 java.lang.StringBuilder
38: 14865 1125928 [S
39: 11710 1124160 css.core.Health
40: 4544 1065968 [J
41: 15392 985088 com.mysql.jdbc.ConnectionPropertiesImpl$StringConnectionProperty
42: 23281 931240 java.util.LinkedHashMap$Entry
43: 12432 895104 com.mysql.jdbc.ConnectionPropertiesImpl$IntegerConnectionProperty
44: 37062 889488 java.lang.StringBuffer
45: 11710 843120 css.core.CdnServer
46: 7360 824320 java.util.GregorianCalendar
47: 11710 749440 css.core.CdnServer
48: 18564 742560 sun.misc.FloatingDecimal
49: 3269 732256 com.mysql.jdbc.JDBC4PreparedStatement
50: 7418 712128 sun.util.calendar.Gregorian$Date
51: 13649 655152 java.util.HashMap
52: 39116 625856 java.util.TreeSet
53: 592 606208 com.mysql.jdbc.JDBC4Connection
54: 6981 558480 com.mysql.jdbc.ConnectionPropertiesImpl$MemorySizeConnectionProperty
55: 16289 521248 com.mysql.jdbc.Buffer
56: 20000 480000 org.apache.tomcat.util.bcel.classfile.ConstantUtf8
57: 3898 405392 java.lang.Class
58: 12130 388160 java.lang.StackTraceElement
59: 4369 384472 java.lang.reflect.Method
如果gc无法正常收集垃圾,排除大作业和物理内存过小的话,就是程序代码的问题,用jvisualvm 查看一下,那个工具能够详细分析内存中出现的问题。