java - PermGen Out of Memory reasons -


i detect oom in permgen environment:

  1. java 6
  2. jboss-4.2.3
  3. not big web-application

i know string.intern() problem - don't have enough valuable usage of it. increasing of maxpermgen size didn't take force (from 128 mb 256 mb).

what other reasons invoke oom permgen? scenario of investigation best in such situation (strategy, tools , etc.)?

thanks help

see note

  • put jdbc driver in common/lib (as tomcat documentation says) , not in web-inf/lib
  • don't put commons-logging web-inf/lib since tomcat bootstraps it

new class objects placed permgen , occupy ever increasing amount of space. regardless of how large make permgen space, inevitably top out after enough deployments. need take measures flush permgen can stabilize size. there 2 jvm flags handle cleaning:

-xx:+cmspermgensweepingenabled 

this setting includes permgen in garbage collection run. default, permgen space never included in garbage collection (and grows without bounds).

-xx:+cmsclassunloadingenabled 

this setting tells permgen garbage collection sweep take action on class objects. default, class objects exemption, when permgen space being visited during garabage collection.


Comments

Popular posts from this blog

php - What is the difference between $_SERVER['PATH_INFO'] and $_SERVER['ORIG_PATH_INFO']? -

fortran - Function return type mismatch -

queue - mq_receive: message too long -