User Tools

Site Tools


informatica:weblogic:heapdump

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
informatica:weblogic:heapdump [2013/08/19 13:51] joseinformatica:weblogic:heapdump [2019/01/21 13:00] – [Eclipse Memory Analizer] javi
Line 4: Line 4:
      
 Añadir el siguiente parámetro para que haga un heapdump cuando hay un out of memory OOM: Añadir el siguiente parámetro para que haga un heapdump cuando hay un out of memory OOM:
 +<code>
   -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/weblogic/dumps   -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/weblogic/dumps
 +</code>
 Se puede añadir en caliente. Primero miramos si lo tiene activado. Nos tenemos que fijar en el sigo - + delante de Heap: Se puede añadir en caliente. Primero miramos si lo tiene activado. Nos tenemos que fijar en el sigo - + delante de Heap:
 +<code>
   # jinfo -flag HeapDumpOnOutOfMemoryError <PID>   # jinfo -flag HeapDumpOnOutOfMemoryError <PID>
      
   -XX:-HeapDumpOnOutOfMemoryError   -XX:-HeapDumpOnOutOfMemoryError
 +</code>
 En este caso tiene un signo - que quiere decir que no lo tiene activado. Lo activamos poniendo el signo +: En este caso tiene un signo - que quiere decir que no lo tiene activado. Lo activamos poniendo el signo +:
   # jinfo -flag +HeapDumpOnOutOfMemoryError <PID>   # jinfo -flag +HeapDumpOnOutOfMemoryError <PID>
      
 Comprobamos que lo tiene activado: Comprobamos que lo tiene activado:
 +<code>
   # jinfo -flag HeapDumpOnOutOfMemoryError <PID>   # jinfo -flag HeapDumpOnOutOfMemoryError <PID>
      
   -XX:+HeapDumpOnOutOfMemoryError   -XX:+HeapDumpOnOutOfMemoryError
 +</code>
 ====== Generar Heap Dump ====== ====== Generar Heap Dump ======
 Con la aplicación de Hello World y una instancia de -Xms128m -Xmx128m de weblogic, lanzamos un test de Jmeter de 100 Threads con un Loop Count de 10.000 por ejemplo. A mi me ha generado el HeapDump con formato: jrockit_<PID>.hprof Con la aplicación de Hello World y una instancia de -Xms128m -Xmx128m de weblogic, lanzamos un test de Jmeter de 100 Threads con un Loop Count de 10.000 por ejemplo. A mi me ha generado el HeapDump con formato: jrockit_<PID>.hprof
Line 36: Line 38:
 The memory is accumulated in one instance of "java.util.concurrent.ConcurrentHashMap$HashEntry[]" loaded by "<system class loader>". The memory is accumulated in one instance of "java.util.concurrent.ConcurrentHashMap$HashEntry[]" loaded by "<system class loader>".
 </code> </code>
 +
 +Para indagar el ".war" o ".ear" que lo causa:
 +
 +https://www-01.ibm.com/support/docview.wss?uid=swg21673014
 +
 +1. Abrir el archivo ".dmp"
 +
 +2. Tras muuuucho tiempo se abirá el informe
 +
 +3. Click en el icono con los engranajes tipo "settings" en la parte superior
 +
 +4. Click encima del "Object/Stack Frame" que coincida con el ID del thread sospechoso, en este caso tiene el "Retained Heap" más grande
 +
 +5. En la parte izquierda identificar "contextClassLoader", igual hay que hacer click en "25 out 36 displayed" o similar para expandir todas las opciones:
 +
 +<code>
 +Type|Name              |Value
 +--------------------------------------------------------------------------------
 +ref |contextClassLoader|com.ibm.ws.classloader.CompoundClassLoader @ 0x6ffd0bb40
 +--------------------------------------------------------------------------------
 +</code>
 +
 +6. Situar el ratón encima, botón derecho, "Go into"
 +
 +7. En la parte izquierda identificar "name", igual hay que hacer click en "25 out 36 displayed" o similar para expandir todas las opciones:
 +
 +<code>
 +Type|Name|Value
 +-------------------------------------------------------
 +ref |name|war:UN LAGO BLANCO bla bla/MyPortlet.war
 +-------------------------------------------------------
 +</code>
 +
 +A partir de aquí la documentación sugiere indicar el .war (o .ear) al desarrollador y que mire
 +
 +
 +
  
 ===== Heap Analyzer (IBM) ===== ===== Heap Analyzer (IBM) =====
informatica/weblogic/heapdump.txt · Last modified: 2019/01/22 08:44 by javi