Note that there are some explanatory texts on larger screens.

plurals
  1. POJava app calls C++ DLL via JNI; how best to allocate memory?
    primarykey
    data
    text
    <p>Basic summary of question is: How do I best optimize my memory allocation to give as much memory to the DLLs I access through JNI as possible? What should I aim to minimize, what should I aim to maximize, etc.</p> <p>SYSTEM: Running JBoss 6 as a Windows 32 Service in a 32-bit system with 4 GB RAM. I do understand there are maximum restrictions on memory for Java Heap. JVM is <strong>JRE1.6.0_26</strong></p> <p>SERVICE: Installed under JBoss is a webapp which receives requests from clients; each request calls the C++-built DLL through JNI to process an image file in some fashion or other. </p> <p>ISSUE: Occasionally, with larger or some (not all) LZW-compression images, the calling java class receives a message that the DLL experienced a Global Memory Depletion and failed to complete the requested process.</p> <p>There is nothing else actively running on the server beyond basic windows processes.</p> <p>Current JBOSS App Server memory settings are as follows, but may be excessive:</p> <p>-Xms1024m -Xmx1024m -Xss1024k -XX:MaxPermSize=128m </p> <p>I am trying to determine the best memory settings to give as much resources to the JNI DLL, as I understand JNI does not use any memory allocated to the Java Heap.</p> <p>I have read these, but did not find them helpful to answer my question:</p> <p><a href="https://stackoverflow.com/questions/5986645/java-jni-memory-allocation-partitioning">Java JNI : Memory allocation / partitioning</a></p> <p><a href="https://stackoverflow.com/questions/6466882/can-jconsole-be-used-to-identify-memory-leaks-in-jni-c-objects">Can jconsole be used to identify memory leaks in JNI C++ objects?</a></p> <p><strong>The two answers currently supplied do not address the inherient question.</strong></p> <p><strong>Current memory of JBoss server after one week with JVM params set as above (TaskManager indicates java.exe process at 750,672k)</strong></p> <pre><code>Total Memory Pools: 5 Pool: Code Cache (Non-heap memory) Peak Usage : init:2359296, used:7317312, committed:7438336, max:50331648 Current Usage : init:2359296, used:7306496, committed:7438336, max:50331648 |---------| committed:7.09Mb +---------------------------------------------------------------------+ |/////////| | max:48Mb +---------------------------------------------------------------------+ |---------| used:6.97Mb Pool: PS Eden Space (Heap memory) Peak Usage : init:268500992, used:354811904, committed:354811904, max:355991552 Current Usage : init:268500992, used:270153472, committed:354091008, max:354156544 |--------------------------------------------------------------------| committed:337.69Mb +---------------------------------------------------------------------+ |///////////////////////////////////////////////////// || max:337.75Mb +---------------------------------------------------------------------+ |----------------------------------------------------| used:257.64Mb Pool: PS Survivor Space (Heap memory) Peak Usage : init:44695552, used:44694896, committed:78643200, max:78643200 Current Usage : init:44695552, used:0, committed:1835008, max:1835008 |---------------------------------------------------------------------| committed:1.75Mb +---------------------------------------------------------------------+ | | max:1.75Mb +---------------------------------------------------------------------+ | used:0b Pool: PS Old Gen (Heap memory) Peak Usage : init:715849728, used:123671968, committed:715849728, max:715849728 Current Usage : init:715849728, used:104048648, committed:715849728, max:715849728 |---------------------------------------------------------------------| committed:682.69Mb +---------------------------------------------------------------------+ |////////// | max:682.69Mb +---------------------------------------------------------------------+ |---------| used:99.23Mb Pool: PS Perm Gen (Non-heap memory) Peak Usage : init:16777216, used:91989664, committed:134217728, max:134217728 Current Usage : init:16777216, used:90956472, committed:90963968, max:134217728 |----------------------------------------------| committed:86.75Mb +---------------------------------------------------------------------+ |//////////////////////////////////////////////| | max:128Mb +---------------------------------------------------------------------+ |----------------------------------------------| used:86.74Mb </code></pre>
    singulars
    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.
 

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