gpt4 book ai didi

java 内存泄漏,visualvm 显示错误数据

转载 作者:搜寻专家 更新时间:2023-10-31 19:33:30 24 4
gpt4 key购买 nike

我有一个 Java 应用程序在运行,几个小时后它就填满了内存。我曾尝试使用 visualvm 检测内存泄漏,但它显示了错误的数据(不知道这是怎么发生的)。

在屏幕截图中,您可以看到任务管理器显示内存使用量为 700Mb,而 visualvm 显示为 225...

有人知道这是怎么回事吗?

问候

enter image description here

最佳答案

请注意,您的操作系统只知道 java 在一段时间内保留的内存总量(并且 java 不会轻易返回该内存量 AFAIK)。但是,java 可能不会在给定时刻使用所有内存,因此您可以看到这两个数字之间的差异。

例如,如果你像这样启动你的程序

java -Xmx512m -Xms256m ...

然后您的 JVM 将在启动时占用 256 MB(操作系统会或多或少地告诉您)。但是,如果您打开内存查看工具(无论是 visualvm、jconsole 等),它可能会显示您使用的少于此数量(只是您不需要使用整个保留堆)。

关于java 内存泄漏,visualvm 显示错误数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21376629/

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