Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
linux(非windows)上javafx应用程序的巨大内存消耗_Java_Linux_Animation_Memory_Javafx 8 - Fatal编程技术网

linux(非windows)上javafx应用程序的巨大内存消耗

linux(非windows)上javafx应用程序的巨大内存消耗,java,linux,animation,memory,javafx-8,Java,Linux,Animation,Memory,Javafx 8,我需要帮助来找出我当前设置的问题所在,因为当我启动javafx应用程序时,查看活动监视器时,我看到内存增长非常快,而且从不收缩 我的系统是: Kubuntu wili,jdk 8u66 64位,hp envy笔记本电脑,具有8千兆内存 我的测试是: 通过以下方式从oracle启动Ensemble8示例应用程序: java -jar -XX:+UseG1GC -Dprism.verbose=true Ensemble8.jar 其中第一个选项应该帮助jvm向系统释放内存,第二个选项是渲染系统pr

我需要帮助来找出我当前设置的问题所在,因为当我启动javafx应用程序时,查看活动监视器时,我看到内存增长非常快,而且从不收缩

我的系统是: Kubuntu wili,jdk 8u66 64位,hp envy笔记本电脑,具有8千兆内存

我的测试是: 通过以下方式从oracle启动Ensemble8示例应用程序:

java -jar -XX:+UseG1GC -Dprism.verbose=true Ensemble8.jar
其中第一个选项应该帮助jvm向系统释放内存,第二个选项是渲染系统prism的调试选项

一旦我启动它,应用程序内存是142.400KB,这对我来说很好。 我向下滚动并单击“服务”示例,然后单击“刷新”按钮(这会启动一个动画,这是我对问题所在的第一个猜测),内存会跳到186.764KB。 再按一下,我得到:

232 Mb
290 Mb
340 Mb
514 Mb
618 Mb
720 Mb
等等。。。 现在只要一直按这个按钮就可以很容易地填满系统内存

在我看来,在linux系统上,垃圾收集器有一个很大的问题,因为当我在Windows 10分区上进行测试时,我没有这样的问题,这意味着内存被释放,稳定在200 Mb左右。 我对动画的怀疑是因为我第一次在我做的一个应用程序中遇到这个问题,这个应用程序仅仅通过设置滚动条的动画就占据了整个系统


还有人在linux 64位系统上遇到JavaFX8内存问题吗?

它最终会在OOM中崩溃吗?然后使用内存分析器分析转储。最终发生的情况是,我失去了对系统的控制,甚至无法切换任务,但到目前为止,我还没有任何OutOfMemory。我能够在kubuntu 32位机智地进行测试,并且行为正常,这使我认为64位jvm或64位操作系统有问题,或者这只是我的设置,但我很想知道其他人的经历。你可以用严格的上限启动程序,比如说
-Xmx600m
。如果程序崩溃,您可以分析崩溃。看见(jvisualvm也将允许检查正在运行的程序)Javafx有内存泄漏问题,当bug系统是开源的时候,我打开了一个bug。很快,他们说,他们将提供解决方案/支持,只有我们为支持许可证付费。它最终会与OOM崩溃吗?然后使用内存分析器分析转储。最终发生的情况是,我失去了对系统的控制,甚至无法切换任务,但到目前为止,我还没有任何OutOfMemory。我能够在kubuntu 32位机智地进行测试,并且行为正常,这使我认为64位jvm或64位操作系统有问题,或者这只是我的设置,但我很想知道其他人的经历。你可以用严格的上限启动程序,比如说
-Xmx600m
。如果程序崩溃,您可以分析崩溃。看见(jvisualvm也将允许检查正在运行的程序)Javafx有内存泄漏问题,当bug系统是开源的时候,我打开了一个bug。很快他们说,他们将提供解决方案/支持,但我们只需为支持许可证付费。