

Then add an extra 50 or 100 percent to give the GC room to work efficiently. In this tutorial, well explore the main Java Profilers: JProfiler, YourKit, Java VisualVM, the Netbeans Profiler, and the IntelliJ Profiler. and be conservative.Īn alternative approach is to estimate how much heap the application actually needs for the problem it is trying to solve. while the application is running on the actual problem. But the problem is that none of those components (apart from the max heap size) can be pinned down without detailed measurements on the customer's machine. The ideal number would be to have "JVM max heap + JVM non-heap overheads + OS + other active applications' working sets + buffer cache working set" add up to the amount of physical memory. It depends on what the application is doing.


The real problem: Attempting to run the profiler in 64-bit Intellij with the 64-bit vm causes the. If the customer was running nothing else significant on his/her machine, then setting the heap size to 16G isn't necessarily a bad idea. (x86)YourKit Java Profiler 9.5.6libidea80-plugin 2. So what is a reasonable number? 12 GB? 8 GB? Now, I've got enough memory on my dev box to run this, but going back to the original memory problem I'm trying to diagnose: How do I know how much Java heap I have to play with?Ĭlearly, if the customer has, say, 16 GB physical RAM, it's not a great idea for me to tell them to set -Xmx to 16 GB. That's a virtual size of nearly 14 GB and a resident size of nearly 8 GB - nearly 3x the Java heap. However, what I actually see in PS is: USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDĭmoles 31379 4.4 68.2 14440032 8321396 ? Sl 11:47 10:42 java -Xmx3072m -XX:PermSize=256m -XX:MaxPermSize=768m -XX:+HeapDumpOnOutOfMemoryError .limit=20000 -Xbootclasspath/a:/home/dmoles/Applications/yjp-9.5.6/bin/./lib/tools.jar -jar /home/dmoles/Applications/yjp-9.5.6/bin/./lib/yjp.jar Naively, assuming some overhead, this would lead me to guess that YourKit is going to use a max of something maybe a bit over four GB. What I've got in the YourKit launch script is: JAVA_HEAP_LIMIT="-Xmx3072m -XX:PermSize=256m -XX:MaxPermSize=768m"
#Yourkit java profiler 9.5.6 .dll#
dll on a AMD 64-bit platformĪs the previous questioner asked, is there a way to force the 64-bit agent dll, since choosing 64-bit Java doesn't seem to work.In the course of profiling a 64-bit Java app that's having some issues, I notice that the profiler itself (YourKit) is using truly colossal amounts of memory. I'm seeing this same issue with the following versions:Ĭhoose: IntelliJ IDEA 8-11 (specifying plugin directory produces same effect)Ĭhoose to run a Java application with profiling.
