内存溢出怎么解决?

skyhits1921 2010-02-01 03:21:44
我的应用进行压力测试的时候,总是压几分钟就死了,然后一查找原因是内存溢出,我用JDK自带工具检测是JPS和JMAP检测生成DUMP文件,发现里面生成的对象中最多的是[B,大概900多M,这个到底是什么,我想大概就是这个造成内存的溢出,可是这好像不是一个具体的对象,谁能帮我看看到底是什么对象占这么大的空间?



num #instances #bytes class name
--------------------------------------
1: 82907 937262472 [B
2: 200317 23001744 [C
3: 106607 13174808 <constMethodKlass>
4: 106607 8535784 <methodKlass>
5: 220802 7065664 java.util.concurrent.ConcurrentHashMap$Segment
6: 234524 5628576 java.util.concurrent.locks.ReentrantLock$NonfairSync
7: 9903 5428120 <constantPoolKlass>
8: 65346 5406464 [Ljava.util.HashMap$Entry;
9: 112488 4970472 <symbolKlass>
10: 190670 4576080 java.lang.String
11: 9903 4230536 <instanceKlassKlass>
12: 220811 4217824 [Ljava.util.concurrent.ConcurrentHashMap$HashEntry;
13: 67333 3243224 [Ljava.lang.Object;
14: 8139 3205600 <constantPoolCacheKlass>
15: 63376 2535040 java.util.HashMap
16: 70677 1696248 java.util.HashMap$Entry
17: 56950 1366800 java.util.concurrent.ConcurrentHashMap$HashEntry
18: 5048 1290888 <methodDataKlass>
19: 50622 1214928 java.util.ArrayList
20: 13642 1200496 org.apache.catalina.session.StandardSession
21: 13802 1104032 [Ljava.util.concurrent.ConcurrentHashMap$Segment;
22: 10676 1024896 java.lang.Class
23: 14158 1019376 org.jasig.cas.ticket.TicketGrantingTicketImpl
...全文
445 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
成都老李 2010-05-10
  • 打赏
  • 举报
回复
兄弟你搞定了吗?
我现在也遇到类似的情况,我们交流一下,我的qq:408442756;
skyhits1921 2010-02-01
  • 打赏
  • 举报
回复
我说多少都没意义知道吗,我说出来估计你也解决不了,我只是想知道这样的对象怎样查看,我那写的只是一个简单的JSP,简单的不能再简单了,用LOADRUNNER压总是很快就内存溢出,大家有没有这方面的经验,如果有请说一下。
snowmansh 2010-02-01
  • 打赏
  • 举报
回复
你压多少力?并发多少?机器内存多少?有没有调整gc的参数?
有许多条件。
skyhits1921 2010-02-01
  • 打赏
  • 举报
回复
我敢肯定不是代码的问题,因为压的只是一个简单的应用也是如此,这个简单的应用只包含一个JSP,这怎么会造成内存溢出呢?太奇怪了
Kevin-anycode 2010-02-01
  • 打赏
  • 举报
回复
好好优化自己的代码哇。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧