JVM Tools – JPS


The jps tool lists the instrumented HotSpot Java Virtual Machines (JVMs) on the target system. The tool is limited to reporting information on JVMs for which it has the access permissions.If jps is run without specifying a hostid, it will look for instrumented JVMs on the local host.

Usage:jps [ options ] [ hostid ]

The host identifier of the host for which the process report should be generated The general options include:

# q -Suppress the output of the class name, JAR file name, and arguments passed to the main method, producing only a list of local VM identifiers.
# m -Output the arguments passed to the main method. The output may be null for embedded JVMs.
# l -Output the full package name for the application’s main class or the full path name to the application’s JAR file.
# v -Output the arguments passed to the JVM.
# V -Output the arguments passed to the JVM through the flags file (the
.hotspotrc file or the file specified by the -XX:Flags=<filename> argument).
# Joption -Pass option to the java launcher called by javac. For example, -J-Xms48m sets the startup memory to 48 megabytes Continue reading

JVM Tools – JMAP


The Java jmap utility provides a number of useful options to summarize heap usage, and get a break down of objects in the new and old generations. To summarize the new and old generations, the jmap utility can be run with the “-heap” option, and the PID of the JVM to summarize (the PID can be acquired by running the jps utility, or by reviewing the ps output):

Usage: jmap [ option ] pid
jmap [ option ] executable core

General Options include:

# jmap -heap prints heap usage, gc algorithm and heap configuration details.
# jmap -histo prints a histogram of the current heap or core (class, number of instances, and the total number of bytes used by all the instances together).
# jmap -permstat prints details of the perm space contents.
# jmap -permgen prints statistics for the objects in the permanent generation, including information about internalized String instances. Continue reading



JSTAT is Java Virtual Machine Statistics Monitoring Tool. jstat provides information on performance and resource consumption of running applications.

Usage: jstat [ outputOptions vmid [interval[s|ms] [count]] ]

If you do not specify a general option, then you can specify output options. Output options determine the content and format of jstat’s output, and consist of a single statOption, plus any of the other output options ( -h, -t, and -J). The statOption must come first. Continue reading

Managing webserver from websphere administration console

Here is the answer to one of the questions that i’ve been asked more times over the last 2months on the blog or through email.

Note: Keep these short names,in mind while reading.
IHS – IBM http server
WAS – Websphere application server
ISC – Integrated solutions console aka websphere administration console

Administrating a Web server from Websphere console

Before diving into this topic you need to know two concepts namely managed and unmanaged nodes. A managed node will have a node agent which manages all the servers on that node and unmanaged doesn’t have any node agents. So if you define the webserver on an unmanaged node and wants to use Websphere admin console for administration of it, you must have IHS administration server. Continue reading

DCS and Cluster members

Have you ever been asked this question in the interview?

how do you find out which cluster member was crashed/down?

The general answer we give is to go to administration console and check the individual server status or the cluster member status.

The other option is to use a third-party monitoring tool such as ITCAM, wily introscope, UniCenter and Nagios etc..

Have you ever checked the system.out log file of any individual server when one of the cluster member was stopped?

WebSphere has Distribution & Consistency Services (DCS), which is a part of the HA architecture. Using these DCS messages we can find which member of the cluster is down.

Here is an example: Continue reading