首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

JAVA过程内存占用很多,不释放

2012-08-15 
JAVA进程内存占用很多,不释放公司的程序,运行时内存一直增加不释放。我用JProfiler 和JConsole检测了内存情

JAVA进程内存占用很多,不释放
公司的程序,运行时内存一直增加不释放。我用JProfiler 和JConsole检测了内存情况,使用还算正常。监控到内存会自动GC
而且保持在500M used,400M free 的情况,但是windows中线程管理中看到的却是1.6G的内存占用,而且使用那些工具手动GC
系统使用的内存变成 20M used ,800m free 。可是windows中线程管理中看到的还是1.6G。

请问这是怎么回事?该怎么调整呢。时间久了会报内存溢出。

[解决办法]
你说的这些现象,不是主要问题。

因为Windows中看到的是JVM的总内存消耗。而JConsole工具看到的则是JVM内部对这些内容的使用情况。这两者本来就不同。


内存溢出是主要问题,但你说的这些现象对帮助分析内存溢出没意义。
请继续使用工具来监控JVM,定义执行GC,然后检查哪些对象在每次GC之后持续增长。也就是GC并不能回收且持续增长的对象;这才是重点。
[解决办法]
有放有收 形成的是 锯齿状的 图形 不用担心
[解决办法]
myeclipse用了半天,内存使用就有600mb了,然后关掉在重新启动,就少了很多。。

热点排行