#Memory usage

1 messages · Page 1 of 1 (latest)

quasi hatch
#

I've inherited a sub optimal performing application; so I'm trying to pinpoint why this app isn't as performant as thought.
The host/machine has 32GB of ram. The app has been started with -Xmx20480m (rougly 20GB)
Using htop I see the app has a VIRT memory of 21.7Gb and RES of ~16GB. This leads me to believe the app is using only ~16GB of the allocated memory, but is using 25GB of virtual memory; something I find very odd.

Does this mean it's swapping?
Why isn't it using the full 20GB?
How I can analyze this further?

static summitBOT
#

<@&987246964494204979> please have a look, thanks.

static summitBOT
#

While you are waiting for getting help, here are some tips to improve your experience:

Code is much easier to read if posted with syntax highlighting and proper formatting.

If nobody is calling back, that usually means that your question was not well asked and hence nobody feels confident enough answering. Try to use your time to elaborate, provide details, context, more code, examples and maybe some screenshots. With enough info, someone knows the answer for sure.

Don't forget to close your thread using the command </help-thread close:1027500463647621170> when your question has been answered, thanks.

empty heron
lean pilot
#

Just to further clarify, VIRT includes all the memory a process might access which is reversed for your process so while your program is using 16GB, it can use upto 21GB

#

Does this mean it's swapping?
No but you can use vmstat if you want to see the swap rates

#

Why isn't it using the full 20GB?
The application probably does not use 20 GB (or things like GC are doing it's job)
How I can analyze this further?
A good profiler is Intellij's Java Profiler