Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.


Share this Page URL
Help

21.2: JVM dump and heap analysis tools > Svcdump.jar - Pg. 255

The analysis of heap-related issues, such as OutOfMemoryError and other crashes, hangs, or loops in WebSphere for z/OS address spaces can be similar to that for the level that is possible with the earlier deployment environments, such as CICS and IMS. You use the relatively low impact tools of unformatted dumps and JVM internal information for analysis, which means that you must draw together knowledge of the JVM internals with the less invasive diagnostic approaches (such as SDUMP) that are typically used to diagnose problems in z/OS production environments. These tools can be used to diagnose problems that affect your important production workload, but can only be recreated in these high-transaction environments. These approaches should be driven initially by the systems programming staff, because they have authority to access the SVC dumps or transaction dumps that are taken during failures or have the authority to request console dumps of hung or looping servers. After the unformatted dumps are available, the post processing and interpretation of the data can be done by either systems programming or by development staff, because the tools are Java-based and therefore not tied to z/OS. 21.2.1 Svcdump.jar The svcdump.jar file allows direct access to the binary SVC dump or transaction dumps that are created in z/OS without the need for intermediate software such as IPCS. There are three packages that are shipped in svcdump.jar: Dump utility: com.ibm.jvm.svcdump.Dump package This formats native and Java stacks for threads in dumped processes that include an instantiated JVM. The dump utility includes a function to print out other useful information, such as in core trace buffers maintained by the JVM and the system trace that mimic or extend the information that can be obtained with IPCS. FindRoots utility: com.ibm.jvm.findroots.* package This provides multiple ways of formatting the object graphs that are present in the Java-managed heap. This is critical for the sometimes difficult tasks of pinning down object leaks and making sense of heap occupancy. Java API This can be used to write ad hoc utilities. For example, you could write small programs that report on objects in the Java heap that maintain state data about a business application. Using svcdump.jar The svcdump.jar file is available from this Web site (requires IBM registration): https://www14.software.ibm.com/webapp/iwm/web/preLogin.do?source=diagjava Note: This tool is in active development, so it would be helpful to IBM if you provide feedback about your experiences with it. You need three files: The svcdump.jar file The doc.jar file, which contains documentation for the exposed API libsvcdump.so, a DLL that allows the Java code to access an unformatted dump in an MVS data set rather than in the HFS (when you use this DLL, you do not have to provide a large HFS data set to copy the dump to, meaning that in z/OS, the original dump can be analyzed instead) Chapter 21. Diagnostic tools for WebSphere for z/OS 255