Java内存泄漏,只有Jenkins运行,Jenkins .war分析显示没有什么奇怪的

标签 java memory jenkins perforce

我目前在 Mac mini 上运行 Jenkins,设置了 Xmx2048m,永久代空间为 512,我运行了“监控”插件,它显示 Jenkins 使用约 200M 内存(在存档期间峰值为 400)。这个数字正在慢慢上升,如下所示。

/image/BtAtC.png

当我在 mac mini 上使用“top”查看 java 进程时,它显示内存约为 685M。这个数字增长得更快,最终达到 2048, Jenkins 崩溃了。

/image/W31vb.png

当我重新启动机器或重新启动 Jenkins 时,“顶部”记录下降到 270M 左右,而 java 监视器下降到 150M 左右。是什么导致这些读数出现差异?

有没有办法确定到底是什么导致了内存泄漏?我假设它是一个插件,并且由于泄漏是连续的而不是在“每个构建”的基础上,我倾向于认为它是强制轮询或类似的东西。

任何帮助将不胜感激。

最佳答案

您是否尝试过进行线程转储并分析内存的使用位置?

找出导致问题的原因的另一种方法可能是查看 Jenkins 日志。

如果您使用 Tomcat 作为服务器,您可以尝试添加内存泄漏监视器,更多 here

关于Java内存泄漏,只有Jenkins运行,Jenkins .war分析显示没有什么奇怪的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24674912/

相关文章:

java - 在 Java 中使用反斜杠

java - Java 日历中的错误时间

Jenkins Gradle "Could not reserve enough space for object heap"

jenkins - Gitlab 到 Jenkins Webhook(带参数)

linux - 无法从 Jenkins Windows 框添加 Linux 从机

java - 设置用于测试的默认 Content-Type

java - 从抽象类继承注释?

ios - HTTPNetStreamInfo::_readStreamClientCallBack(__CFReadStream*, unsigned long) 增加内存分配

c++ - 有没有办法获取堆上可用的内存地址范围?

c - 释放与列表关联的任何动态分配的内存并返回 NULL?