Linux memory leak?

mkpaz quizynox at gmail.com
Wed Aug 7 17:54:49 UTC 2024


I tried using jemalloc, but the generated output (attachment) looks 
useless to me.

https://gist.github.com/thomasdarimont/79b3cef01e5786210309

On 07/08/2024 20.57, Thiago Milczarek Sayão wrote:
> Hi,
>
> There are some tips in this post (I've never tried them). GTK related 
> environment variables generally work.
> https://stackoverflow.com/questions/16659781/memory-leaks-in-gtk-hello-world-program
>
> valgrind and java:
> https://stackoverflow.com/questions/9216815/valgrind-and-java
>
>
> -- Thiago
>
>
> Em qua., 7 de ago. de 2024 às 13:20, <quizynox at gmail.com> escreveu:
>
>     Hello,
>
>     Through developing JavaFX apps on Linux (X11, KDE) I always see the
>     pattern when process (native?) memory doesn't get released back to
>     the OS.
>
>     1. when app starts, the Java process consumes a relatively small
>     amount
>     of RAM (I track this via top or DE system monitor), usually around
>     120Mb.
>     2. if you do any manipulation with Stage (like resize it several
>     times,
>     or open the context menu several times) the memory process usage
>     goes up
>     to 130Mb.
>     3. then comes GC, which collects some _heap_ memory and returns it
>     back
>     to the OS depending on JVM settings, let say -5Mb
>     4. I repeat step 2, and JVM process process usage goes up again, +10Mb
>     5. again GC collects some _heap_ memory and uncommits it back to
>     OS, -5Mb
>
>     I have profiled the application with JDK 21 / JavaFX 21 and the
>     following settings:
>     -Xms32m
>     -Xmx64m
>     -XX:+UseZGC
>     -XX:+ZUncommit
>     -XX:ZUncommitDelay=30
>
>     Heap is not a problem, it's always ~20-30MB.
>     Metaspace is not a problem either, it's always around 2-4MB.
>
>     It looks like native (stack, thread?) memory leaks, so never
>     returned to
>     the OS. I've never seen JavaFX app process memory usage return
>     (not even
>     close) to the same value it started with. RAM usage increases
>     gradually
>     and can be 1.5, 2, 3 times the initial value. Yet the heap usage
>     never
>     rises above the -Xms value.
>
>     I run the same application (it's basically an empty stage) on Windows
>     and see no such behavior. Process memory usage returns back to
>     initial
>     value almost immediately. Also, on Windows the JVM is freeing memory
>     even without using ZGC.
>
>     How should I profile this? Any hints?
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/openjfx-dev/attachments/20240807/944c6491/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: app-profiling.pdf
Type: application/pdf
Size: 16923 bytes
Desc: not available
URL: <https://mail.openjdk.org/pipermail/openjfx-dev/attachments/20240807/944c6491/app-profiling-0001.pdf>


More information about the openjfx-dev mailing list