4
I Use This!
Activity Not Available

News

Posted over 17 years ago by Ingo Rockel
According to Markus Kohler's blog there is a new version of the SAP Memory Analyzer available. This version now is available for multiple plattforms and just as Eclipse Plugin. The Plugin needs at least Eclipse 3.3 to run. 3.2 no longer works. ... [More] This release features a very fast estimation about the minimum retained size of objects. The retained size is importing to find e.g. own structures which leak memory and hold a lot of references. Fig 1. SAP Memory Analyzer 1.1.1 as Eclipse Plugin The screenshot shows the calculated retained sizes and minimum retained size of several objects. This release now also has several predefined queries like finding the top consumers of a class's instances. It is now also possible to see the local variables hold by the threads and examine the finalizer queue. The release can be downloaded for the SAP Developer Network (registration required). [Less]
Posted over 17 years ago by Ingo Rockel
According to Markus Kohler's blog there is a new version of the SAP Memory Analyzer available. This version now is available for multiple plattforms and just as Eclipse Plugin. The Plugin needs at least Eclipse 3.3 to run. 3.2 no longer works. This ... [More] release features a very fast estimation about the minimum retained size of objects. The retained size is importing to find e.g. own structures which leak memory and hold a lot of references. Fig 1. SAP Memory Analyzer 1.1.1 as Eclipse Plugin The screenshot shows the calculated retained sizes and minimum retained size of several objects. This release now also has several predefined queries like finding the top consumers of a class's instances. It is now also possible to see the local variables hold by the threads and examine the finalizer queue. The release can be downloaded for the SAP Developer Network (registration required). [Less]
Posted over 17 years ago by Ingo Rockel
Recently I was playing a bit with the native threads option in jstack (-m). I wanted to see if it is feasible to include any special parsing support for the native threads in my TDA tool. But at least with JDK1.6 on recent Linux plattforms, it seems ... [More] to be broken, it lists all threads but instead logging the dump information for the threads it just throws a NullPointerException. Currently it seems only to work for JDK1.5 releases. See this bug in the Java Bug Database for further information. [Less]
Posted over 17 years ago by Ingo Rockel
Recently I was playing a bit with the native threads option in jstack (-m). I wanted to see if it is feasible to include any special parsing support for the native threads in my TDA tool. But at least with JDK1.6 on recent Linux plattforms, it seems ... [More] to be broken, it lists all threads but instead logging the dump information for the threads it just throws a NullPointerException. Currently it seems only to work for JDK1.5 releases. See this bug in the Java Bug Database for further information. [Less]
Posted over 17 years ago by Ingo Rockel
With JDK 1.5 Sun introduced JConsole, a swing based tool for instrumentalizing the new JMX MBeans for VM analysis in 1.5 and to provide easy remote access to all other JMX MBeans offered (e.g. by the application server or an application). With the ... [More] release of JDK 1.6 Sun enhanced the utility to also support plugins and simplified access to the applications to analyze. With JConsole it is quite easy to do some application analysis without critical impact on the application. Remote application access For enabling remote access to an application using JConsole you need an open port from the machine the application is running on and start the application with this port. To connect to a remote application running with JDK 1.5 you need to specify something like this: -Dcom.sun.management.jmxremote.port=5555 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false I have done this for connecting to an Oracle Application Server 10.1.3.2 instance. Note: this is not the recommended setting for an production environment as is insecure. Read the jconsole documentation on how to set up a secure connection to a JVM. Fig 1. Remote connection to an Oracle AS 10.1.3.2 Requesting Dumps Since the 1.6 release it is also quite easy to request heap and thread dumps. Fig 2. Requesting a heap dump These Dumps then can be parsed by tools like the SAP Memory Analyzer to analyze heap dumps and tools like Samurai or my TDA for thread dumps. Plugins for jconsole One interesting plugin currently available publically is an enhanced JTop Plugin (based on a demo plugin from the jdk samples). JConsole doesn't display any information about the cpu usage of the threads running in a JVM, it only displays a graph about the overall cpu usage. The JTop plugin shows enhanced information about the cpu utilization of all threads running in a JVM just like top does for processes on unix plattforms. Fig 3. JTop Plugin The enhanced JTop plugin can be downloaded from Peter Doornbosch's Blog. [Less]
Posted over 17 years ago by Ingo Rockel
With JDK 1.5 Sun introduced JConsole, a swing based tool for instrumentalizing the new JMX MBeans for VM analysis in 1.5 and to provide easy remote access to all other JMX MBeans offered (e.g. by the application server or an application). With the ... [More] release of JDK 1.6 Sun enhanced the utility to also support plugins and simplified access to the applications to analyze. With JConsole it is quite easy to do some application analysis without critical impact on the application. Remote application access For enabling remote access to an application using JConsole you need an open port from the machine the application is running on and start the application with this port. To connect to a remote application running with JDK 1.5 you need to specify something like this: -Dcom.sun.management.jmxremote.port=5555 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false I have done this for connecting to an Oracle Application Server 10.1.3.2 instance. Note: this is not the recommended setting for an production environment as is insecure. Read the jconsole documentation on how to set up a secure connection to a JVM. Fig 1. Remote connection to an Oracle AS 10.1.3.2 Requesting Dumps Since the 1.6 release it is also quite easy to request heap and thread dumps. Fig 2. Requesting a heap dump These Dumps then can be parsed by tools like the SAP Memory Analyzer to analyze heap dumps and tools like Samurai or my TDA for thread dumps. Plugins for jconsole One interesting plugin currently available publically is an enhanced JTop Plugin (based on a demo plugin from the jdk samples). JConsole doesn't display any information about the cpu usage of the threads running in a JVM, it only displays a graph about the overall cpu usage. The JTop plugin shows enhanced information about the cpu utilization of all threads running in a JVM just like top does for processes on unix plattforms. Fig 3. JTop Plugin The enhanced JTop plugin can be downloaded from Peter Doornbosch's Blog. [Less]
Posted over 17 years ago by Ingo Rockel
In the upcoming Netbeans 6.0 the Netbeans Profiler is included into the base package and offers support for offline profiling of HPROF heap dumps. The support is a bit limited at the moment though. It only displays an aggretation of all objects in ... [More] heap sorted by class or base type and allows you to browse the instances and their references as can be seen in the screenshot. Fig 1. Netbeans Heap Dump Profiling View It doesn't have any "find big objects" option like in the YourKit Profiler or the freely available SAP Memory Analyzer. Netbeans 6.0 is scheduled for release in november. The Milestone 10 has just been released and can be downloaded here. [Less]
Posted over 17 years ago by Ingo Rockel
In the upcoming Netbeans 6.0 the Netbeans Profiler is included into the base package and offers support for offline profiling of HPROF heap dumps. The support is a bit limited at the moment though. It only displays an aggretation of all objects in ... [More] heap sorted by class or base type and allows you to browse the instances and their references as can be seen in the screenshot. Fig 1. Netbeans Heap Dump Profiling View It doesn't have any "find big objects" option like in the YourKit Profiler or the freely available SAP Memory Analyzer. Netbeans 6.0 is scheduled for release in november. The Milestone 10 has just been released and can be downloaded here. [Less]
Posted over 17 years ago by Ingo Rockel
At the JavaOne 2006 there was a Session with the topic Unhappily Ever After: Support, Maintenance, and Troubleshooting of Java Technology-Based Applications in Production Environments by Alexandre Rafalovitch, a former BEA Support Engineer, now ... [More] working for the UN. He developed the (BEA) Thread Dump Analyzer. The Session talks about tools and best practices for analysis of production environments. It talks about possible hotspots in a production environment. The session can be watched online here. The slides are available as PDF. [Less]
Posted over 17 years ago by Ingo Rockel
At the JavaOne 2006 there was a Session with the topic Unhappily Ever After: Support, Maintenance, and Troubleshooting of Java Technology-Based Applications in Production Environments by Alexandre Rafalovitch, a former BEA Support Engineer, now ... [More] working for the UN. He developed the (BEA) Thread Dump Analyzer. The Session talks about tools and best practices for analysis of production environments. It talks about possible hotspots in a production environment. The session can be watched online here. The slides are available as PDF. [Less]