gpt4 book ai didi

java - 为什么应用程序堆被释放但机器上的实际内存没有反射(reflect)这一点?

转载 作者:行者123 更新时间:2023-12-01 10:16:48 24 4
gpt4 key购买 nike

我有一个多线程应用程序,当任务发送给它时它会执行任务。这些任务有时占用大量内存,但有时又不那么占用内存。

无论哪种方式,我都在运行应用程序的unix服务器上查看Java Visual机器,并且也在使用“top”的unix进程级别上查看。

我可以在 JVM 图表上看到,一旦任务完成,堆就会被释放,但为进程分配的内存只会增长(即 top 命令中的 RES 字段)。

这可能是什么原因以及解决此问题的潜在选项是什么?

非常感谢,御所

最佳答案

一个简单的原因可能是 Java 没有执行任何垃圾收集周期,或者没有执行真正将内存释放回操作系统的 GC 周期。

This article解释了 GC 周期如何将内存释放回操作系统。

关于java - 为什么应用程序堆被释放但机器上的实际内存没有反射(reflect)这一点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35847696/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com