Wednesday 3 February 2016

Troubleshooting Tips on SolarisOS /Linux and windows for weblogic

Hung,Deadlocked, Looping Process
Post-Mortem Diagnostics,Memory Leaks
Monitoring
OtherFunctions.
Hung, Deadlocked, or Looping Process
·      Print thread stack for all Java threads:
o    Control-Break
o    jstack pid

·    Detect deadlocks:
o    Request deadlock detection:
      JConsole tool, Threads tab
o    Print information on deadlocked threads: 
       Control-Break
o    Print lock information for a process:
       jstack -l pid
·     Get a heap histogram for a process:
o    Start Java process with -XX:+PrintClassHistogram, then Control-Break
o    jmap -histo pid
·      Dump Java heap for a process in binary format to file:
o    jmap -dump:format=b,file= filename pid
Post-mortem Diagnostics, Memory Leaks
·       Examine the fatal error log file. Default file name is hs_err_pid pid .log in the working directory.
·      Create a heap dump:
o    Start the application with HPROF enabled: java -agentlib:hprof=file= file,format=b application; then Control-Break
o    Start the application with HPROF enabled: java -agentlib:hprof=heap=dumpapplication
o    JConsole tool, MBeans tab
o    Start VM with -XX:+HeapDumpOnOutOfMemoryError; if OutOfMemoryError is thrown, VM generates a heap dump.
·         Browse Java heap dump:
o    jhat heap-dump-file
·      Get a heap histogram for a process:
o    Start Java process with -XX:+PrintClassHistogram, then Control-Break
o    jmap -histo pid

Monitoring:
( jstat is not available on Windows 98 or Windows ME.)
Note: The vmID argument for the jstat command is the virtual machine identifier. See the jstatman page for a detailed explanation.
·         Print statistics on the class loader:
o    jstat -class vmID
·         Print statistics on the compiler:
o    Compiler behavior: jstat -compiler vmID
o    Compilation method statistics: jstat -printcompilation vmID
·         Print statistics on garbage collection:
o    Summary of statistics: jstat -gcutil vmID
o    Summary of statistics, with causes: jstat -gccause vmID
o    Behavior of the gc heap: jstat -gc vmID
o    Capacities of all the generations: jstat -gccapacity vmID
o    Behavior of the new generation: jstat -gcnew vmID
o    Capacity of the new generation: jstat -gcnewcapacity vmID
o    Behavior of the old and permanent generations: jstat -gcold vmID
o    Capacity of the old generation: jstat -gcoldcapacity vmID
o    Capacity of the permanent generation: jstat -gcpermcapacity vmID
·      Monitor objects awaiting finalization:
o    JConsole tool, VM Summary tab
o    getObjectPendingFinalizationCount method injava.lang.management.MemoryMXBean class
·      Monitor memory:
o    Heap allocation profiles via HPROF: java -agentlib:hprof=heap=sites
o    JConsole tool, Memory tab
o    Control-Break prints generation information.
·      Monitor CPU usage:
o    By thread stack: java -agentlib:hprof=cpu=samples application
o    By method: java -agentlib:hprof=cpu=times application
o    JConsole tool, Overview and VM Summary tabs
·       Monitor thread activity:
o    JConsole tool, Threads tab
·       Monitor class activity:
o    JConsole tool, Classes tab
Other Functions
·         Interface with the instrumented Java virtual machines:
o    Monitor for the creation and termination of instrumented VMs (not Windows 98 or Windows ME): jstatd daemon
o    List the instrumented VMs (not Windows 98 or Windows ME): jps
o    Provide interface between remote monitoring tools and local VMs (not Windows 98 or Windows ME): jstatd daemon
o    Request garbage collection: JConsole tool, Memory tab
·      Dynamically set, unset, or change the value of certain Java VM flags for a process:
o    jinfo -flag flag pid
·      Pass a Java VM flag to the virtual machine:
o    jconsole -J flag ...
o    jhat -J flag ...
·      Report on monitor contention:
o    java -agentlib:hprof=monitor=y application
·      Evaluate or execute a script in interactive or batch mode:
o    jrunscript
·         Interface dynamically with an MBean, via JConsole tool, MBean tab:
o    Show tree structure.
o    Set an attribute value.
o    Invoke an operation.
o    Subscribe to notification.
·     Run interactive command-line debugger:
o    Launch a new VM for the class: jdb class
o    Attach debugger to a running VM: jdb -attach address.

No comments:

Post a Comment