Changeset 13542


Ignore:
Timestamp:
08/28/11 07:46:16 (10 years ago)
Author:
Mark Evenson
Message:

Include instructions for what to do about PermGen? memory errors.

Note that bugs may now be submitted via OpenID authentication to the
common-lisp.net infrastructure.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • public_html/faq.shtml

    r13483 r13542  
    3737  </li>
    3838
     39  <li><a href="#running">Running</a>
     40  <ol>
     41    <li><a href="#maxpermgen-errors">Java is running out of memory an error reporting something about "java.lang.OutOfMemoryError: PermGen space".  What can I do?</a></li>
     42  </ol>
     43  </li>
    3944</ol>
    4045
     
    5661contributions in this area would be greatly appreciated, of course.
    5762</p>
    58 
    5963</div>
    6064
     
    8690if you distribute ABCL, but otherwise the license of ABCL is not viral.
    8791</p>
    88 
    8992</div>
    9093
     
    9396
    9497<p>
    95 
    9698The current state of issues can be found in the <a
    9799href="http://trac.common-lisp.net/armedbear/report/1">ABCL issue
    98 tracker</a>.  Unfortunately, due to spamming problems, administration
    99 of bugs has been closed for anybody but common-lisp.net members.</p>
    100 
    101 <p>
    102 
    103 To report a bug, please mail a description of the problem, the version
    104 of ABCL you are using, and if possible a set of steps to reproduce the
    105 problem to the <a
     100tracker</a>.  Individuals with an <a
     101href="http://en.wikipedia.org/wiki/Openid">OpenID</a> such as a Google
     102ID may enter information directly in the bug tracker after
     103authenticating by your provider. </p>
     104
     105<p>
     106
     107Alternatively, to report a bug, please mail a description of the
     108problem, the version of ABCL you are using, and if possible a set of
     109steps to reproduce the problem to the <a
    106110href="http://common-lisp.net/cgi-bin/mailman/listinfo/armedbear-devel">armedbear-devel
    107111mailing list</a>.  We try to respond within a day at most to messages.
     
    139143plenty of room for improvement in the area of execution speed and optimization.
    140144The project welcomes initiatives to improve performance.</p>
    141 
    142145</div>
    143146
     
    165168  improve this measure too.</p>
    166169
    167 <p>ABCL 0.26.1 fails roughly 20 out of 21702 tests in the ANSI test
     170<p>ABCL 0.26.2 fails roughly 20 out of 21702 tests in the ANSI test
    168171suite in interpreted and compiled modes, a constant number over the
    169 past releases.  Most failures relate to pretty printing.</p>
     172past releases.</p>
    170173
    171174<p>As a measure of 'improvement achieved', the development team refers
     
    174177  'only' ca 75 failing tests at the time of 0.15.0, and even 1400 failures
    175178  around October 2008.</p>
    176 
    177179</div>
    178180
     
    188190<a href="http://svn.common-lisp.net/armedbear/trunk/abcl">http://svn.common-lisp.net/armedbear/trunk/abcl</a>
    189191</p>
    190 
    191 
    192192</div>
    193193
     
    205205href="http://trac.common-lisp.net/armedbear/browser/trunk/abcl/examples">examples</a></li>
    206206</ol>
    207 
    208 </div>
     207</div>
     208
    209209</div>
    210210
     
    223223the <code>abcl.build.incremental</code> property.
    224224</p>
    225 
    226 </div>
    227 </div>
     225</div>
     226
     227</div>
     228
     229<div class="h2" title="Running" id="running">
     230<h2>Running</h2>
     231
     232<div class="h3" title="Out of Memory errors" id="maxpermgen-errors">
     233<h3>Java is running out of memory an error reporting something about "java.lang.OutOfMemoryError: PermGen space".  What can I do?</h3>
     234
     235<p>
     236  You need to increase the memory which the Java allocates for
     237  permanent generation ("PermGen)" objects by using the appropiate
     238  switch on command line which invokes the JVM hosting ABCL.  When the
     239  implementation compiles or loads Lisp code, it creates a separate
     240  JVM class for each top-level form.  With large workloads, this can
     241  overrun the part of memory which Java reserves for storing the class
     242  definition which results in the error you are seeing.
     243</p>
     244
     245<p>
     246  The exact manner of configuring this option which unfortunately
     247  varies by implementation.  For the Oracle HotSpot 64bit JVM,
     248  something like <code>"-d64 -Xmx4g -XX:MaxPermSize=1g
     249  -XX:+CMSClassUnloadingEnabled"</code> will not only increse the
     250  PermGen space, but will ensure you always invoke the 64bit JVM,
     251  increase the maximum memory space available to the JVM to 4Gib, and
     252  allow the JVM to garbage collect class definitions which its deems
     253  to be unused.
     254</p>
     255
     256<p>
     257  If you are compiling ABCL from source, a handy way to have the build
     258  process incorporate such runtime flags in the JVM invocation would
     259  be to copy the <code>'abcl.properties.in'</code> file to <code>'abcl.properties'</code>, and
     260  then ensure that the <code>'java.options'</code> variable is set to the desired
     261  options.
     262</p>
     263</div>
     264
     265</div>
     266
    228267</div>
    229268
Note: See TracChangeset for help on using the changeset viewer.