还是内存溢出

07-06-26 colingo
         

我用Jprofile跟踪,在我操作数据的过程中(从一个列表移动到另一个列表,然后保存),vm telemetry views只要一对数据进行操作,使用堆的数据就使增加。用GC后,并不能回到原来的状态。但是,我觉得是我引用的一个类(MoveInfo)没有释放。但从Heap Walker来观察,一直在增长的并非MoveInfo。而是char[],String。

[该贴被xinying_ge于2007年06月26日 22:24修改过]

         

colingo
2007-06-26 22:24

上面是我三次抓有Heap图

下面的是,vm的图,直到内存溢出

[该贴被xinying_ge于2007年06月26日 22:25修改过]


banq
2007-06-27 10:02

内存泄漏,下面一步是到你的应用程序哪些包或类占据CPU最多 耗费内存最多。

继续努力。

colingo
2007-06-27 18:00

谢谢Banq大哥,我会努力的。

JProfiler我第一次用,还不是太会用。

根据你的提示,我查看CPU中类的情况,我发现,在CPU最多的是一个DataSet类,我第一次提关于这个问题的时候也说起过。

我在对数据操作的过程中,DataSet这个类占用CPU呈增长的趋势。每操作一次,它就增长一次。

colingo
2007-06-27 21:39

感谢Banq大哥,在你的提示下,我查找到问题的原因。

把我问题解决后的图帖上,你看一下,应该是解决了吧。我GC后,它几乎回到了一开始没有处理数据时的位置。

[该贴被xinying_ge于2007-10-16 13:08修改过]

[该贴被xinying_ge于2007-10-17 14:40修改过]


2Go 1 2 下一页