Linux 上 JavaFX 无法解释的内存泄漏

2023-12-07

我的 Java 程序仅在 Linux 上运行时发生内存泄漏。

症状:

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

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

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

有没有工具可以调查此类问题?


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

  • https://bugs.openjdk.java.net/browse/JDK-8161911

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

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

有没有工具可以调查此类问题?

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux 上 JavaFX 无法解释的内存泄漏 的相关文章

  • 如何在Spring Boot中初始化一次MongoClient并使用它的方法?

    您好 我正在尝试导出MongoClient在 Spring Boot 中成功连接后 我尝试在其他文件中使用它 这样我就不必每次需要在 MongoDB 数据库中进行更改时都调用该连接 连接非常简单 但目标是将应用程序连接到我的数据库一次 然后
  • 使用正则表达式验证输入字符串是否为 0-255 之间的数字

    我在将输入字符串与正则表达式匹配时遇到问题 我想验证输入数字在 0 255 之间并且长度最多应为 3 个字符 代码工作正常 但当我输入 000000 至任意长度时 显示 true 而不是 false 这是我的代码 String IP 000
  • 帮助我避免 JPA、Hibernate 和 MySQL 的连接超时

    我正在使用 JPA Hibernate 作为提供者 Glassfish 和 MySQL 开发中一切都运行良好 但是当我将应用程序部署到测试服务器并让它运行 大部分空闲 过夜时 我通常会在早上遇到这样的情况 2011 03 09T15 06
  • 为什么我要使用责任链而不是 switch 语句

    考虑一下您已经获得了多次验证 仅当要检查的对象属于某种类型时 这些验证才应生效 为什么我要使用责任链而不是 switch 语句 责任链示例 public class Executor Inject private ValidatorFact
  • 如何使用 Selenium 中的索引切换到窗口

    由于selenium不提供切换到窗口 多个窗口 的方法 但我想使用index html自定义方法来切换到不同的窗口 但下面的代码没有按预期工作 请建议以下方法的最佳实施 public void switchToWindowIndex int
  • 如何在 JdbcTemplate 中创建 mySQL 存储过程

    背景 为了解决 MySql 中某些语句只允许在存储过程中出现的问题 我尝试在 JdbcTemplate 提交的 sql 中创建 运行然后删除存储过程 一个简单的例子是 这恰好是在 Spring Boot 中 Service public c
  • 生成(非常)大的非重复整数序列而不进行预洗牌

    背景 我编写了一个简单的媒体客户端 服务器 我想生成一个不明显的时间值 随从客户端到服务器的每个命令一起发送 时间戳中将包含相当多的数据 纳秒分辨率 即使它不是真正准确 因为现代操作系统中计时器采样的限制 等 我想做的 在 Linux 上
  • selenium webdriver 中的多个程序执行不起作用

    Selenium WebDriver 中的多个程序执行不起作用 我编写了 1 个 testNG xml 文件和 2 个 java 类 我尝试从 xml 文件运行这两个 java 类 但这不起作用 XML代码
  • java中日期转换dd-MMM-yyyy到dd-MM-yyyy

    在Java中将23 Mar 2011转换为23 03 2011的最简单方法是什么 感谢大家 这似乎解决了这个问题 try Calendar cal Calendar getInstance cal setTime new SimpleDat
  • Java 不可变对象 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在学习不变性的概念 据我了解 一旦创建对象 不可变对象就无法更改其值 但我不明白不可变对象的以下用途 They are 自动是线程
  • “___ 中的方法 ___() 是在无法访问的类或接口中定义的”编译错误

    我发现了一个奇怪的编译限制 我无法解释 并且我不明白这个限制的原因 示例1 考虑这些类 In package e1 public class C1 enum E1 A B C public E1 x In package e2 import
  • 如何列出hadoop hdfs中目录及其子目录中的所有文件

    我在 hdfs 中有一个文件夹 其中有两个子文件夹 每个子文件夹大约有 30 个子文件夹 最后 每个子文件夹都包含 xml 文件 我想列出所有 xml 文件 仅给出主文件夹的路径 在本地我可以这样做apache commons io 的 h
  • 在 REST Web 服务中接受逗号分隔值

    我正在尝试接收 REST URI 中以逗号分隔值形式的字符串列表 示例 http localhost 8080 com vogella jersey first rest todo test 1 abc test 其中 abc 和 test
  • 更新分页。是否可以?

    他们是否存在一些方法来处理更新分页 例如我有 100 行类型 Id private Integer id Column private boolean flag Column private Date last 一开始它们看起来像 id f
  • 线程和 fork()。我该如何处理呢? [复制]

    这个问题在这里已经有答案了 可能的重复 多线程程序中的fork https stackoverflow com questions 1235516 fork in multi threaded program 如果我有一个使用 fork 的
  • AndroidAnnotations 和 Dagger

    我正在尝试使用 Dagger 注入 Android 带注释的 Activity java lang IllegalArgumentException No inject registered for members com app serv
  • 使用正则表达式匹配阿拉伯文文本

    我试图使用正则表达式仅匹配阿拉伯语文本 但出现异常 这是我的代码 txt matches P Arabic 这是例外情况 线程 main 中的异常 java util regex PatternSyntaxException 索引 9 附近
  • 在没有EOF的情况下停止读取java中的输入

    In 问题 如何停止读取输入 我的程序继续运行 要求更多输入 public static void main String args throws Exception BufferedReader br new BufferedReader
  • 使用 PDFBox 在 Android 中创建 PDF

    我正在尝试通过我的 Android 应用程序创建 PDFPDFBoxapi 但出现以下错误 java lang NoClassDefFoundError org apache pdfbox pdmodel PDDocument 我已经将以下
  • Java 可变 BigInteger 类

    我正在使用 BigIntegers 进行计算 该计算使用一个调用 multiply 大约 1000 亿次的循环 并且从 BigInteger 创建新对象使其非常慢 我希望有人编写或找到了 MutableBigInteger 类 我在 jav

随机推荐

  • $(window).width() 在 IE9 中不起作用

    我正在做类似的事情 get the screen height and width var maskHeight document height var maskWidth window width calculate the values
  • 在 win7 上的不同目录中的 wamp 2.5 中创建虚拟主机返回禁止错误

    我已在 C wamp 中安装了 wamp 并且希望将 E zf2 中的 DocumentRoot 文件夹作为虚拟域 www skeltonapplicaiton zf2 local 的虚拟主机 未提交 httpd conf 文件中的 Inc
  • 无法启动 Jupyter Notebook

    我无法在 Anaconda 上启动 Jupyter 我使用的是Windows 如何消除这个错误 错误说 Traceback most recent call last File C Users User anaconda3 Scripts
  • 按日期分组,即使没有找到记录也返回行

    我有一个查询 它将表中的所有条目分组并按日期时间列对它们进行分组 这一切都很好用 SELECT SUM value AS sum DATE datetime AS dt FROM entry WHERE entryid 85 AND DAT
  • 动态改变图像颜色

    我正在开发一个应用程序 它将多个视图显示为表格 例如客户 产品等 每行的最后一列包含按钮 用户可以使用这些按钮对特定行执行某些操作 简化示例 td class actions a href projects some project edi
  • ActionBarActivity - NoClassDefFoundError 异常

    已经看过了 NoClassDefFoundError Android 与 ActionBarActivity and ActionBarActivity 在电话上捕获错误 我正在尝试使用紧凑型操作栏在我的项目中 我已经链接了android
  • 在 Webdriver 中创建测试套件

    如果这是一个显而易见的问题 我深表歉意 我使用 webdriver 支持的 selenium 在 Java 中编写了一些测试 这些测试在单独运行时都能完美运行 我现在想要一种在测试套件中一起运行这些选项的方法 根据我迄今为止发现的建议 建议
  • F# 尾递归函数示例

    我是 F 新手 正在阅读有关尾递归函数的内容 希望有人能给我函数 foo 的两种不同实现 一种是尾递归 另一种不是 以便我可以更好地理解其原理 从一个简单的任务开始 例如将列表中的项目从 a 映射到 b 我们想编写一个具有签名的函数 val
  • Android:如何捕获 GPS 位置的图像

    我正在使用 Google 地图查找所提供地址的位置 我想存储从 Google 地图获取的位置图像onClick 有谁知道如何做到这一点 这是我的谷歌地图和存储 onClick 的代码 public class TestGPSActivity
  • Windows 安装中的conf/neo4j-wrapper.conf 在哪里

    对于新手问题 我很抱歉 我看到很多对 conf neo4j wrapper conf 的引用 但在我的 Neo4j 2 1 2 Windows 服务器安装中找不到它 有人可以告诉我它在哪里吗 thanks 您必须自己创建 conf 目录 在
  • 如何将javascript对象从一个页面传递到另一页面

    我想将 javascript 对象从一个页面传递到另一页面 以便任何人都可以告诉我该怎么做 使用 jQuery 可以做到这一点吗 Few ways 服务器端回发 在您的页面上有一个 POST 表单 并将序列化对象保存在隐藏输入中 然后将其发
  • 有人有使用 Javascript 老派 winamp 嵌入播放器的经验吗?

    我想在我的网站上的页面加载时加载自定义 wsz 皮肤 我仍然不明白如何做到这一点才能使其发挥作用 这是我的代码片段 https codepen io cat999 pen rNOOjJP js const webamp new Webamp
  • BeautifulSoup 部分div类匹配

    我需要通过抓取从 Github 获取里程碑信息 里程碑信息嵌入在 2 种类型的 div 类中 table list item milestone notdue and table list item milestone 如何检索两个类中包含
  • 如果其他测试失败,我可以跳过 Junit 测试吗?

    我在用着Junit运行测试硒网络驱动程序 我试图将我的测试分成功能区域 以便更好地报告错误 我创建了测试来测试页面加载 将文档移动到其他工作流程 如果页面加载测试失败 或者工作流程移动失败 我想跳过后续页面 工作流程测试 如果测试 A 失败
  • Xamarin Forms Shell:Flyout 与 TabBar

    读完后我很困惑sentence TabBar 禁用 Flyout 在 Xamarin 文档中 但即使是示例代码也以 Flyout 布局显示 TabBar 我想 我误解了 Flyout 和 TabBar 我的想法如附件所示 任何人都可以想象其
  • java 是否支持 Foo 类,如果不支持,为什么?

    java支持吗class Foo
  • 如何在iPhone sdk中获取当前日期的下一个和更早的日期

    我有一个日期对象 NSDate 日期 NSDate 日期 现在我想要一个早于这个日期和下一个日期的日期 我应该使用什么功能 更早和更晚意味着前一天和后一天 我也尝试使用 EarlyDate 但可能是我使用错误 因为它返回相同的日期 tnx
  • 如何在xaml中使用List

    所以我很确定在定义部分我需要包含以下内容 xmlns s clr namespace System Collections Generic assembly 但我只是不知道用什么来代替 我想用代码做的是这样的
  • 为什么“@input”装饰器比“inputs:[]”更受青睐

    有两种方法可以定义组件的输入 Component inputs displayEntriesCount export class MyTable implements OnInit displayEntriesCount number an
  • Linux 上 JavaFX 无法解释的内存泄漏

    我的 Java 程序仅在 Linux 上运行时发生内存泄漏 症状 VisualVM 显示堆大小约为 300Mb 顶部 并且没有可疑活动 在 Mac OS X 上 程序使用 900Mb 内存无限期运行 通过活动监视器 在 Linux 上 当操