gpt4 book ai didi

java - 远程识别客户使用的应用程序中的内存泄漏

转载 作者:搜寻专家 更新时间:2023-10-31 08:04:08 25 4
gpt4 key购买 nike

一位客户提示他在我们的 Java 应用程序中遇到内存泄漏。

尽管我尽了一切努力来重现他的环境、配置和用法,但我无法重现并因此识别出泄漏。​​

我想走另一条路...而不是尝试复制它,也许我可以让他生成他的堆的一些 View ,这将使我能够识别泄漏。

由发给我的客户运行,对此有一些要求:

  1. 不应包含 secret 信息
  2. 应该足够小,可以通过互联网发送
  3. 应该由一个容易获得的工具生成(最好是在 Java 发行版中)

由于 1. 和 2.,不可能进行完整的堆转储

最重要的是,它应该能让我找到漏洞。所以它至少应该显示每个类的对象的保留堆大小(自身的大小+它保留引用的所有内容)。jmap -histo 绝对不够好。

 num     #instances         #bytes  class name
----------------------------------------------
1: 14156 577318512 [B
2: 9196 47439696 [I
3: 83396 9809992 [C

这样的东西有用吗?我不这么认为。

最佳答案

在不了解您和您的客户的情况下,很难发表评论,但根据我的经验,一位客户告诉我我们有内存泄漏(尤其是在 Java 中)只是意味着“客户的系统有一些问题,可能是也可能不是与我们的应用相关”

我将从简单的事情开始,找出他认为您的应用存在泄漏的原因(即显示进程大小的 ps 或任务管理器输出)

关于java - 远程识别客户使用的应用程序中的内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9514402/

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