【问题标题】:JavaFX unexplainable leaks memory on LinuxJavaFX 无法解释的在 Linux 上泄漏内存
【发布时间】:2017-04-15 10:13:25
【问题描述】:

我的 Java 程序在以独占方式在 Linux 上运行时泄漏内存。

症状:

  • VisualVM 显示堆大小约为 300Mb,没有可疑活动。
  • 在 Mac OS X 上,程序在 900Mb 内存下无限期运行(通过活动监视器)
  • 在 Linux 上,当操作系统内存不足时(通过活动监视器),内存占用会迅速增加到 4.5Gb

该程序使用 JavaFX。此行为在将 GUI 和计算分离到不同线程的提交之后开始。

这不可能是 JVM 中的泄漏,对吗?

是否有任何工具可以调查此类问题?

【问题讨论】:

标签: java linux javafx memory-leaks jvm


【解决方案1】:

已报告了针对 JavaFX 的各种内存泄漏错误。它们与硬件加速图形的使用有关。 “头”问题是这样的:

上面的 cmets 表明错误可能存在于 OpenGL 实现中,但它们是由 JavaFX 正在执行的操作触发的。您对提交的观察似乎很有说服力,可能值得向 Oracle 报告。

另一方面,报告的错误与图形加速有关这一事实表明,您可以通过告诉 Java 不要使用图形加速来解决您的问题。

是否有任何工具可以调查此类问题?

据我所知没有。如果问题出在人们认为的地方,那么最好的办法就是解决它。

【讨论】:

  • 这是 Mesa 和/或 X.org 中的一个错误。好消息是 - 它似乎已在 Mesa 13.0.1 + X.org 1.18.4 中修复
猜你喜欢
  • 2012-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-27
  • 2013-08-16
  • 1970-01-01
  • 2023-03-21
  • 1970-01-01
相关资源
最近更新 更多