Fully featured low overhead profiler for Java EE and Java SE platforms.
Easy to use performance and memory .NET profiler for Windows and Linux.
Performance monitoring and profiling of Jenkins, Bamboo, TeamCity, Gradle, Maven, Ant and JUnit.

OutOfMemoryError in the profiler UI

Can't find your answer? Please refer to documentation and demos, ask your question in forum, or contact support.

The profiler UI may run out of memory, e.g. while opening huge snapshots. "Huge" usually means several gigabytes, but the exact numbers vary in each particular case, depending on snapshot specifics.

  • The profiler UI is a Java program and stores its data in the Java heap. If you get the Out of memory error, please increase the -Xmx value to make the Java heap bigger. Depending on your OS, find the -Xmx setting in:

    • Latest releases (since version 2017.02): <user home>/.yjp/ui.ini

    • Version 2016.02:
      • All platforms except for macOS: <user home>/.yjp/ui.ini
      • macOS: <Profiler Installation Directory>/Contents/Info.plist
    • Versions 2014-2015:
      • All platforms except for macOS: <Profiler Installation Directory>/bin/ui.ini
      • macOS: <Profiler Installation Directory>/Contents/Info.plist
    • Version 9.0-2013:
      • All platforms except for macOS: <Profiler Installation Directory>/bin/yjp.ini
      • macOS: <Profiler Installation Directory>/Contents/Info.plist
    • Version 8.0.x:
      • Windows: <Profiler Installation Directory>\bin\win32\yjp.ini
      • macOS: <Profiler Installation Directory>/Contents/Info.plist
      • other platforms: <Profiler Installation Directory>/bin/yjp.sh

    Please restart the profiler UI after making the change.

  • Not enough virtual memory error means that some parts of the snapshot file could not be directly mapped to the virtual memory outside the Java heap. (The direct mapping is used for efficiency.)

    In this case please ensure that the system has enough virtual address space (swap file). Please also ensure you have not set the -Xmx value unnecessarily high.

  • Try to make snapshots smaller by running the profiled application with a lower Java heap limit (-Xmx setting of the profiled application). If the profiled application has a smaller heap, then the resulting snapshots will in general be smaller in size, will take less memory to load, and will allow faster analysis in the UI. Usually it's OK to run profiled applications with smaller heaps in order to perform performance analysis; optimizations based on such profiling will still be relevant when the same application runs with a bigger heap (e.g. in production).

YourKit uses cookies and other tracking technologies to improve your browsing experience on our website, to show you personalized content and targeted ads, to analyze our website traffic, and to understand where our visitors are coming from.

By browsing our website, you consent to our use of cookies and other tracking technologies in accordance with the Privacy Policy.