为什么Memory Usage值会随着时间的推移而增加?

时间:2009-06-05 06:20:04

标签: java memory-management

我的系统24小时连续运行了45天。在早上,线程数是20,下午线程数是100,在晚上,线程数再次回到20.但是Mem Usage和VM size值没有回到当前的值。线程数只有20 ...这些值每天都在增加,直到重启我的系统?这是什么基本问题?请解释一下......

提前谢谢。

Anusha G

4 个答案:

答案 0 :(得分:5)

可能是因为Memory leaks和/或Memory fragmentation。使用一些内存分析工具来解决这个问题。

答案 1 :(得分:2)

听起来你有内存泄漏。没有更多信息,就不可能说出原因。

答案 2 :(得分:1)

您的代码中可能会有一个小内存泄漏,并且会随着时间的推移而累积。每次运行时,每个线程可能会泄漏一点内存。线程会产生并死亡,但内存将继续上升。

答案 3 :(得分:0)

正如其他人提到的那样是内存泄漏,如果您使用Java,您可以使用JProfiler,Yourkit Profiler等分析器来查看内存泄漏的发生位置。如果在其他语言中,您应该找到如何分析这些应用程序