Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么Mem的使用价值会随着时间的推移而增加?_Java_Memory Management - Fatal编程技术网

Java 为什么Mem的使用价值会随着时间的推移而增加?

Java 为什么Mem的使用价值会随着时间的推移而增加?,java,memory-management,Java,Memory Management,我有一个进程在我的系统上连续24小时运行45天。早上的线程数是20,下午的线程数是100,晚上的线程数又回到20。但是Mem使用率和VM大小值并没有恢复到线程数仅为20时的值。。。值每天都在增加,直到我重新启动系统?这其中的根本问题是什么?请给我解释一下 先谢谢你 Anusha G听起来像是内存泄漏。如果没有更多信息,就不可能说出原因。您的代码中可能有一个小内存泄漏,并且随着时间的推移而累积。每个线程每次运行时都可能会泄漏一些内存。线程将生成并消亡,但内存将继续增加。这可能是由于和/或。使用一些

我有一个进程在我的系统上连续24小时运行45天。早上的线程数是20,下午的线程数是100,晚上的线程数又回到20。但是Mem使用率和VM大小值并没有恢复到线程数仅为20时的值。。。值每天都在增加,直到我重新启动系统?这其中的根本问题是什么?请给我解释一下

先谢谢你


Anusha G听起来像是内存泄漏。如果没有更多信息,就不可能说出原因。

您的代码中可能有一个小内存泄漏,并且随着时间的推移而累积。每个线程每次运行时都可能会泄漏一些内存。线程将生成并消亡,但内存将继续增加。

这可能是由于和/或。使用一些内存分析工具来解决这个问题。

正如其他人提到的,这是一个内存泄漏,如果您使用的是Java,您可以使用诸如JProfiler、Yourkit Profiler之类的分析工具来查看内存泄漏发生的位置。如果使用其他语言,您应该了解如何分析这些应用程序

您没有释放线程中分配的内存??还有,代码是用哪种语言编写的?哪种操作系统?你能提供更多细节吗?代码是用什么语言编写的?您占用了多少内存?我已经用java编写了代码。重新启动系统后,占用的内存约为15000 kb,线程数为20。我正在使用windows 2003。我已经用java编写了代码。重新启动系统后,占用的内存约为15000 kb,线程数为20。我正在使用windows 2003