Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>As it stands at the moment, you're merely calling a class from another application within your own Java process. This is exactly the same as you'd do for calling a "library method" (the term has no technical difference, you're simply invoking a method on an object of a class that can be resolved by your classloader).</p> <p>So right now, <code>someApp</code> is running in the same JVM as your own application, and will share its maximum heap size. This can be increase with the JVM argument <code>-Xmx</code> (e.g. <code>-Xmx2048m</code> for a 2GB max heap), though it sounds like you're doing this already withotu success.</p> <p>It would be possible to launch <code>someApp</code> in a separate Java process, which would allow you to configure separate JVM arguments and thus give it a separate heap size.</p> <p>However, I don't think this is going to help much. If you're unable to get this application to run in the same JVM, regardless of your heap limit, there's nothing that would suggest it would work in a difference JVM. For example, if you're running with a 2.5GB heap and still running out of memory, running your own app with a 0.5GB heap and spawning a separate JVM with 2GB heap will <strong>not</strong> solve the problem, as something is still running out of memory. (In fact, separate memory pools make an OOME slightly more likely since there are two distinct chunks of free space, whereas in the former case both applications can benefit from the same pool of free space).</p> <p>I suggest you verify that your heap sizes really are being picked up (connecting via JMX using JConsole or JVisualVM will quickly let you see how big the max heap size is). If you're really still running out of memory with large heaps, it sounds like <code>someApp</code> has a memory leak (or a requirement for an <em>even larger</em> heap). Capturing a heap dump in this case, with the JVM argument <code>-XX:+HeapDumpOnOutOfMemoryError</code>, will allow you to inspect the heap with an external tool and determine what's filling the memory.</p> <p><em>Hopefully</em> you've simply failed to increase the heap size correctly, as if the application really is failing with a large heap there are no simple solutions.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload