Good day,

I run Ubuntu 16.04 in 64 bit, with free Radeon graphics driver (AMD Radeon HD 6450 graphics card), and with Oracle's JDK version 1.8.0_92 .

When I run JavaFX applications, like the JDK's Ensemble demo or my own programs, there's a memory leak when FX shows some "action" like animated or otherwise active FX components. Firstly, FX's animation loop doesn't run with 60 but 120 fps, and secondly the needed memory for the Java task grows until my physical RAM size is reached, then the system starts to swap memory until it stalls.

The memory leak only appears when the FX application does do something, e.g. when there's a JavaFX animation loop or when I click a FX button. When I just start the Ensemble demo and don't press any key or mouse button, the memory is OK.

Also Swing and other Java programs work fine on the same system.

When I manually invoke "System.gc() at the end of my FX's animation loop, the memory gets released, i.e. no memory leak. But the downside is that the FX program then runs very slow because of the manual gc() at each frame.

I also tried to use different garbage collection parameters with "java -X...", but it didn't help.

How can I encircle the problem, please? Thanks in advance.

Regards,
Herrmann

Reply via email to