开发者社区> 问答> 正文

【OSS】调用OSS Java SDK的程序,运行一段时间后内存泄露是什么原因?

已解决

调用OSS Java SDK的程序,运行一段时间后内存泄露是什么原因?

展开
收起
云上猫猫 2022-01-19 16:37:51 5075 0
1 条回答
写回答
取消 提交回答
  • 采纳回答
    • 错误原因

    调用OSS Java SDK的程序,运行一段时间(根据业务量,几小时到几天不等)后内存泄露。 推荐使用Eclipse Memory Analyzer (MAT)分析内存使用情况。更多信息,请参见使用MAT进行堆转储文件分析

    如果分析结果类似下图所示(PoolingHttpClientConnectionManager占96%的内存),原因是程序中可能多次执行new OSSClient,但是没有调用ossClient.shutdown,造成内存泄漏。

    • 解决方法

    new OSSClient操作完成后,请通过shutdown进行关闭,保证new OSSClient和ossClient.shutdown成对使用。

    2022-01-19 16:38:39
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载