Friday, 15 March 2019

Displaying a java friendly PS output (lsjvm)

If all you're interested in is the code then jump to "The Code" at the bottom of this blog.

I've been working with Oracle java middleware for quite a few years on various operating systems but primarily on Linux.

So many times I find myself wanting to know what Java processes are running, how long they've been up and how much CPU time they have used.  Sometimes I even want to know what additional parameters the JVM was started with.

Sure I can easily use 'ps -aef' and 'grep' for the things of interest but this output is almost unreadable especially if there are a lot of parameters, like this below;

$ ps -aef | grep java
oracle    6966 10450  0 10:38 pts/1    00:00:00 grep --color=tty java
oracle   14756 14691  0 Mar13 ?        00:24:11 /u01/app/oracle/product/emagent/agent_13.3.0.0.0/oracle_common/jdk/bin/java -Xmx179M -XX:MaxPermSize=160M -server -Djava.security.egd=file:///dev/./urandom -Dsun.lang.ClassLoader.allowArraySyntax=true -XX:-UseLargePages -XX:+UseLinuxPosixThreadCPUClocks -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -XX:+UseCompressedOops -Dwatchdog.pid=14691 -cp /u01/app/oracle/product/emagent/agent_13.3.0.0.0/jdbc/lib/ojdbc7.jar:/u01/app/oracle/product/emagent/agent_13.3.0.0.0/ucp/lib/ucp.jar:/u01/app/oracle/product/emagent/agent_13.3.0.0.0/oracle_common/modules/jsch-0.1.53.jar:/u01/app/oracle/product/emagent/agent_13.3.0.0.0/oracle_common/modules/com.oracle.http_client.http_client_12.1.3.jar:/u01/app/oracle/product/emagent/agent_13.3.0.0.0/oracle_common/modules/oracle.xdk_12.1.3/xmlparserv2.jar:/u01/app/oracle/product/emagent/agent_13.3.0.0.0/oracle_common/modules/oracle.dms_12.1.3/dms.jar:/u01/app/oracle/product/emagent/agent_13.3.0.0.0/oracle_common/modules/oracle.odl_12.1.3/ojdl.jar:/u01/app/oracle/product/emagent/agent_13.3.0.0.0/oracle_common/modules/oracle.odl_12.1.3/ojdl2.jar:/u01/app/oracle/product/emagent/agent_13.3.0.0.0/lib/optic.jar:/u01/app/oracle/product/emagent/agent_13.3.0.0.0/sysman/jlib/log4j-core.jar:/u01/app/oracle/product/emagent/agent_13.3.0.0.0/jlib/gcagent_core.jar:/u01/app/oracle/product/emagent/agent_13.3.0.0.0/sysman/jlib/emagentSDK-intg.jar:/u01/app/oracle/product/emagent/agent_13.3.0.0.0/sysman/jlib/emagentSDK.jar oracle.sysman.gcagent.tmmain.TMMain
oracle   19042 19001  0 Mar12 ?        00:14:53 /u01/app/oracle/product/em/mw/oracle_common/jdk/bin/java -Djava.security.egd=file:///dev/./urandom -Dweblogic.security.SSL.enableJSSE=true -server -Xms32m -Xmx200m -XX:MaxPermSize=128m -Dcoherence.home=/u01/app/oracle/product/em/mw/coherence -Dbea.home=/u01/app/oracle/product/em/mw -Dohs.product.home=/u01/app/oracle/product/em/mw/ohs -DListenAddress=www.theunavoidablehacker.com -DNodeManagerHome=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/nodemanager -DStartScriptName=startEMServer.sh -DStartScriptEnabled=true -DUseKSSForDemo=false -DQuitEnabled=true -DListenPort=7403 -Dweblogic.RootDirectory=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain -Doracle.security.jps.config=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/config/fmwconfig/jps-config-jse.xml -Dcommon.components.home=/u01/app/oracle/product/em/mw/oracle_common -Dopss.version=12.1.3 -Dweblogic.RootDirectory=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain -Xverify:none -Djava.endorsed.dirs=/u01/app/oracle/product/em/mw/oracle_common/jdk/jre/lib/endorsed:/u01/app/oracle/product/em/mw/oracle_common/modules/endorsed -Djava.security.policy=/u01/app/oracle/product/em/mw/wlserver/server/lib/weblogic.policy -Dweblogic.nodemanager.JavaHome=/u01/app/oracle/product/em/mw/oracle_common/jdk weblogic.NodeManager -v
oracle   19131 19071  0 Mar12 ?        00:37:23 /u01/app/oracle/product/em/mw/oracle_common/jdk/bin/java -server -Xms256M -Xmx1740M -XX:PermSize=128M -XX:MaxPermSize=1024M -XX:CompileThreshold=8000 -XX:-DoEscapeAnalysis -XX:+UseCodeCacheFlushing -XX:ReservedCodeCacheSize=100M -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSClassUnloadingEnabled -Dweblogic.Name=EMGC_ADMINSERVER -Djava.security.policy=/u01/app/oracle/product/em/mw/wlserver/server/lib/weblogic.policy -Dweblogic.ProductionModeEnabled=true -Dweblogic.system.BootIdentityFile=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/servers/EMGC_ADMINSERVER/security/boot.properties -Dweblogic.nodemanager.ServiceEnabled=true -Dweblogic.nmservice.RotationEnabled=true -Djavax.xml.bind.JAXBContext=com.sun.xml.bind.v2.ContextFactory -Djava.security.egd=file:///dev/./urandom -Dweblogic.debug.DebugWebAppSecurity=true -Dweblogic.SSL.LoginTimeoutMillis=300000 -Djps.auth.debug=true -Djps.authz=ACC -Djps.combiner.optimize.lazyeval=true -Djps.combiner.optimize=true -Djps.subject.cache.key=5 -Djps.subject.cache.ttl=600000 -Doracle.apm.home=/u01/app/oracle/product/em/mw/apm/ -DAPM_HELP_FILENAME=oesohwconfig.xml -Dweblogic.data.canTransferAnyFile=true -Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2 -DHTTPClient.retryNonIdempotentRequest=false -Dweblogic.security.SSL.minimumProtocolVersion=TLSv1 -Djava.endorsed.dirs=/u01/app/oracle/product/em/mw/oracle_common/jdk/jre/lib/endorsed:/u01/app/oracle/product/em/mw/oracle_common/modules/endorsed -Djava.protocol.handler.pkgs=oracle.mds.net.protocol -Dopss.version=12.1.3 -Digf.arisidbeans.carmlloc=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/config/fmwconfig/carml -Digf.arisidstack.home=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/config/fmwconfig/arisidprovider -Doracle.security.jps.config=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/config/fmwconfig/jps-config.xml -Doracle.deployed.app.dir=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/servers/EMGC_ADMINSERVER/tmp/_WL_user -Doracle.deployed.app.ext=/- -Dweblogic.alternateTypesDirectory=/u01/app/oracle/product/em/mw/oracle_common/modules/oracle.ossoiap_12.1.3,/u01/app/oracle/product/em/mw/oracle_common/modules/oracle.oamprovider_12.1.3,/u01/app/oracle/product/em/mw/oracle_common/modules/oracle.jps_12.1.3 -Doracle.mds.filestore.preferred= -Dadf.version=12.1.3 -Dweblogic.jdbc.remoteEnabled=false -Dcommon.components.home=/u01/app/oracle/product/em/mw/oracle_common -Djrf.version=12.1.3 -Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger -Ddomain.home=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain -Doracle.server.config.dir=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/config/fmwconfig/servers/EMGC_ADMINSERVER -Doracle.domain.config.dir=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/config/fmwconfig -Dohs.product.home=/u01/app/oracle/product/em/mw/ohs -da -Dwls.home=/u01/app/oracle/product/em/mw/wlserver/server -Dweblogic.home=/u01/app/oracle/product/em/mw/wlserver/server -Djavax.management.builder.initial=weblogic.management.jmx.mbeanserver.WLSMBeanServerBuilder -Dxdo.server.config.dir=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/config/bipublisher -DXDO_FONT_DIR=/u01/app/oracle/product/em/mw/bi/common/fonts -Djava.util.logging.manager=oracle.core.ojdl.logging.ODLLogManager -Dweblogic.utils.cmm.lowertier.ServiceDisabled=true weblogic.Server
oracle   19869 19809  0 Mar12 ?        00:35:42 /u01/app/oracle/product/em/mw/oracle_common/jdk/bin/java -server -Xms256M -Xmx1024M -XX:MaxPermSize=512M -Dweblogic.Name=BIP -Djava.security.policy=/u01/app/oracle/product/em/mw/wlserver/server/lib/weblogic.policy -Dweblogic.ProductionModeEnabled=true -Dweblogic.system.BootIdentityFile=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/servers/BIP/data/nodemanager/boot.properties -Dweblogic.nodemanager.ServiceEnabled=true -Dweblogic.nmservice.RotationEnabled=true -Dweblogic.security.SSL.ignoreHostnameVerification=true -Dweblogic.ReverseDNSAllowed=false -DORACLE_HOME=/u01/app/oracle/product/em/mw -Djava.awt.headless=true -Djavax.xml.bind.JAXBContext=com.sun.xml.bind.v2.ContextFactory -Djava.security.egd=file:///dev/./urandom -Dweblogic.debug.DebugWebAppSecurity=true -Dweblogic.SSL.LoginTimeoutMillis=300000 -Djps.auth.debug=true -Djps.authz=ACC -Djps.combiner.optimize.lazyeval=true -Djps.combiner.optimize=true -Djps.subject.cache.key=5 -Djps.subject.cache.ttl=600000 -Doracle.apm.home=/u01/app/oracle/product/em/mw/apm/ -DAPM_HELP_FILENAME=oesohwconfig.xml -Dweblogic.data.canTransferAnyFile=true -Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2 -DHTTPClient.retryNonIdempotentRequest=false -Dweblogic.security.SSL.minimumProtocolVersion=TLSv1 -Djava.endorsed.dirs=/u01/app/oracle/product/em/mw/oracle_common/jdk/jre/lib/endorsed:/u01/app/oracle/product/em/mw/oracle_common/modules/endorsed -Djava.protocol.handler.pkgs=oracle.mds.net.protocol -Dopss.version=12.1.3 -Digf.arisidbeans.carmlloc=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/config/fmwconfig/carml -Digf.arisidstack.home=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/config/fmwconfig/arisidprovider -Doracle.security.jps.config=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/config/fmwconfig/jps-config.xml -Doracle.deployed.app.dir=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/servers/BIP/tmp/_WL_user -Doracle.deployed.app.ext=/- -Dweblogic.alternateTypesDirectory=/u01/app/oracle/product/em/mw/oracle_common/modules/oracle.ossoiap_12.1.3,/u01/app/oracle/product/em/mw/oracle_common/modules/oracle.oamprovider_12.1.3,/u01/app/oracle/product/em/mw/oracle_common/modules/oracle.jps_12.1.3 -Doracle.mds.filestore.preferred= -Dadf.version=12.1.3 -Dweblogic.jdbc.remoteEnabled=false -Dcommon.components.home=/u01/app/oracle/product/em/mw/oracle_common -Djrf.version=12.1.3 -Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger -Ddomain.home=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain -Doracle.server.config.dir=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/config/fmwconfig/servers/BIP -Doracle.domain.config.dir=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/config/fmwconfig -Dohs.product.home=/u01/app/oracle/product/em/mw/ohs -da -Dwls.home=/u01/app/oracle/product/em/mw/wlserver/server -Dweblogic.home=/u01/app/oracle/product/em/mw/wlserver/server -Djavax.management.builder.initial=weblogic.management.jmx.mbeanserver.WLSMBeanServerBuilder -Dxdo.server.config.dir=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/config/bipublisher -DXDO_FONT_DIR=/u01/app/oracle/product/em/mw/bi/common/fonts -Dxdo.server.config.dir=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/config/bipublisher -Dxdo.server.lightweight=true -DXDO_FONT_DIR=/u01/app/oracle/product/em/mw/bi/common/fonts -Dweblogic.DefaultProtocol=t3s -Dweblogic.jsp.javacompiler.javac=true -Dweblogic.management.server=https://www.theunavoidablehacker.com:7101 -Djava.util.logging.manager=oracle.core.ojdl.logging.ODLLogManager -Dweblogic.utils.cmm.lowertier.ServiceDisabled=true weblogic.Server
oracle   25355 25295  3 Mar12 ?        02:02:51 /u01/app/oracle/product/em/mw/oracle_common/jdk/bin/java -server -Xms256M -Xmx1740M -XX:PermSize=128M -XX:MaxPermSize=768M -XX:CompileThreshold=8000 -XX:-DoEscapeAnalysis -XX:+UseCodeCacheFlushing -XX:ReservedCodeCacheSize=100M -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSClassUnloadingEnabled -Dweblogic.Name=EMGC_OMS1 -Djava.security.policy=/u01/app/oracle/product/em/mw/wlserver/server/lib/weblogic.policy -Dweblogic.ProductionModeEnabled=true -Dweblogic.system.BootIdentityFile=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/servers/EMGC_OMS1/data/nodemanager/boot.properties -Dweblogic.nodemanager.ServiceEnabled=true -Dweblogic.nmservice.RotationEnabled=true -Dweblogic.security.SSL.ignoreHostnameVerification=true -Dweblogic.ReverseDNSAllowed=false -DINSTANCE_HOME=/u01/app/oracle/product/em/gc_inst/em/EMGC_OMS1 -DORACLE_HOME=/u01/app/oracle/product/em/mw -Ddomain.home=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain -Djava.awt.headless=true -Ddomain.name=GCDomain -Doracle.sysman.util.logging.mode=dual_mode -Djbo.doconnectionpooling=true -Djbo.txn.disconnect_level=1 -Docm.repeater.home=/u01/app/oracle/product/em/mw -Djbo.ampool.minavailablesize=1 -Djbo.ampool.timetolive=-1 -Djbo.load.components.lazily=true -Djbo.max.cursors=5 -Djbo.recyclethreshold=50 -Djbo.ampool.maxavailablesize=50 -Djavax.xml.bind.JAXBContext=com.sun.xml.bind.v2.ContextFactory -Djava.security.egd=file:///dev/./urandom -Dweblogic.debug.DebugWebAppSecurity=true -Dweblogic.SSL.LoginTimeoutMillis=300000 -Djps.auth.debug=true -Djps.authz=ACC -Djps.combiner.optimize.lazyeval=true -Djps.combiner.optimize=true -Djps.subject.cache.key=5 -Djps.subject.cache.ttl=600000 -Doracle.apm.home=/u01/app/oracle/product/em/mw/apm/ -DAPM_HELP_FILENAME=oesohwconfig.xml -Dweblogic.data.canTransferAnyFile=true -Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2 -DHTTPClient.retryNonIdempotentRequest=false -Dweblogic.security.SSL.minimumProtocolVersion=TLSv1 -Djava.endorsed.dirs=/u01/app/oracle/product/em/mw/oracle_common/jdk/jre/lib/endorsed:/u01/app/oracle/product/em/mw/oracle_common/modules/endorsed -Djava.protocol.handler.pkgs=oracle.mds.net.protocol -Dopss.version=12.1.3 -Digf.arisidbeans.carmlloc=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/config/fmwconfig/carml -Digf.arisidstack.home=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/config/fmwconfig/arisidprovider -Doracle.security.jps.config=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/config/fmwconfig/jps-config.xml -Doracle.deployed.app.dir=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/servers/EMGC_OMS1/tmp/_WL_user -Doracle.deployed.app.ext=/- -Dweblogic.alternateTypesDirectory=/u01/app/oracle/product/em/mw/oracle_common/modules/oracle.ossoiap_12.1.3,/u01/app/oracle/product/em/mw/oracle_common/modules/oracle.oamprovider_12.1.3,/u01/app/oracle/product/em/mw/oracle_common/modules/oracle.jps_12.1.3 -Doracle.mds.filestore.preferred= -Dadf.version=12.1.3 -Dweblogic.jdbc.remoteEnabled=false -Dcommon.components.home=/u01/app/oracle/product/em/mw/oracle_common -Djrf.version=12.1.3 -Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger -Ddomain.home=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain -Doracle.server.config.dir=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/config/fmwconfig/servers/EMGC_OMS1 -Doracle.domain.config.dir=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/config/fmwconfig -Dohs.product.home=/u01/app/oracle/product/em/mw/ohs -da -Dwls.home=/u01/app/oracle/product/em/mw/wlserver/server -Dweblogic.home=/u01/app/oracle/product/em/mw/wlserver/server -Djavax.management.builder.initial=weblogic.management.jmx.mbeanserver.WLSMBeanServerBuilder -Dxdo.server.config.dir=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/config/bipublisher -DXDO_FONT_DIR=/u01/app/oracle/product/em/mw/bi/common/fonts -Dweblogic.management.server=https://www.theunavoidablehacker.com:7101 -Djava.util.logging.manager=oracle.core.ojdl.logging.ODLL

When I'd eventually found the process of interest amongst the mess I'd then issue a second command and pipe the output through 'tr' and break it down into a more readable format.  So much hassle for such a simple set of tasks.

So I thought to myself wouldn't it be much better if this was more readable and easier to achieve, this is how I ended up creating 'lsjvm' and 'lsjvmx', essentially awk scripts to parse and present the information in a more readable format.

lsjvm

lsjvm will give you a summary view on Java process running on the box.  On the same system that I used above it produces;

$ lsjvm
UID         PID   PPID STIME   TIME   MIN        MAX        PROGRAM
oracle    14756  14691 Mar13 00:24:29            -Xmx179M   oracle.sysman.gcagent.tmmain.TMMain
oracle    19042  19001 Mar12 00:15:02 -Xms32m    -Xmx200m   weblogic.NodeManager
oracle    19131  19071 Mar12 00:37:47 -Xms256M   -Xmx1740M  EMGC_ADMINSERVER
oracle    19869  19809 Mar12 00:36:00 -Xms256M   -Xmx1024M  BIP
oracle    25355  25295 Mar12 02:04:05 -Xms256M   -Xmx1740M  EMGC_OMS1M

lsjvmx

lsjvmx provides eXtended output showing all of the java process parameters in more readable format.

$ lsjvmx
UID         PID   PPID STIME   TIME    MIN       MAX        PROGRAM
oracle    14756  14691 Mar13 00:24:34            -Xmx179M   oracle.sysman.gcagent.tmmain.TMMain
         /u01/app/oracle/product/emagent/agent_13.3.0.0.0/oracle_common/jdk/bin/java
         -Xmx179M
         -XX:MaxPermSize=160M
         -server
         -Djava.security.egd=file:///dev/./urandom
         -Dsun.lang.ClassLoader.allowArraySyntax=true
         -XX:-UseLargePages
         -XX:+UseLinuxPosixThreadCPUClocks
         -XX:+UseConcMarkSweepGC
         -XX:+CMSClassUnloadingEnabled
         -XX:+UseCompressedOops
         -Dwatchdog.pid=14691
         -cp
         /u01/app/oracle/product/emagent/agent_13.3.0.0.0/jdbc/lib/ojdbc7.jar:/u01/app/oracle/product/emagent/agent_13.3.0.0.0/ucp/lib/ucp.jar:/u01/app/oracle/product/emagent/agent_13.3.0.0.0/oracle_common/modules/jsch-0.1.53.jar:/u01/app/oracle/product/emagent/agent_13.3.0.0.0/oracle_common/modules/com.oracle.http_client.http_client_12.1.3.jar:/u01/app/oracle/product/emagent/agent_13.3.0.0.0/oracle_common/modules/oracle.xdk_12.1.3/xmlparserv2.jar:/u01/app/oracle/product/emagent/agent_13.3.0.0.0/oracle_common/modules/oracle.dms_12.1.3/dms.jar:/u01/app/oracle/product/emagent/agent_13.3.0.0.0/oracle_common/modules/oracle.odl_12.1.3/ojdl.jar:/u01/app/oracle/product/emagent/agent_13.3.0.0.0/oracle_common/modules/oracle.odl_12.1.3/ojdl2.jar:/u01/app/oracle/product/emagent/agent_13.3.0.0.0/lib/optic.jar:/u01/app/oracle/product/emagent/agent_13.3.0.0.0/sysman/jlib/log4j-core.jar:/u01/app/oracle/product/emagent/agent_13.3.0.0.0/jlib/gcagent_core.jar:/u01/app/oracle/product/emagent/agent_13.3.0.0.0/sysman/jlib/emagentSDK-intg.jar:/u01/app/oracle/product/emagent/agent_13.3.0.0.0/sysman/jlib/emagentSDK.jar
         oracle.sysman.gcagent.tmmain.TMMain

oracle    19042  19001 Mar12 00:15:05 -Xms32m    -Xmx200m   weblogic.NodeManager
         /u01/app/oracle/product/em/mw/oracle_common/jdk/bin/java
         -Djava.security.egd=file:///dev/./urandom
         -Dweblogic.security.SSL.enableJSSE=true
         -server
         -Xms32m
         -Xmx200m
         -XX:MaxPermSize=128m
         -Dcoherence.home=/u01/app/oracle/product/em/mw/coherence
         -Dbea.home=/u01/app/oracle/product/em/mw
         -Dohs.product.home=/u01/app/oracle/product/em/mw/ohs
         -DListenAddress=www.theunavoidablehacker.com
         -DNodeManagerHome=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/nodemanager
         -DStartScriptName=startEMServer.sh
         -DStartScriptEnabled=true
         -DUseKSSForDemo=false
         -DQuitEnabled=true
         -DListenPort=7403
         -Dweblogic.RootDirectory=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain
         -Doracle.security.jps.config=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/config/fmwconfig/jps-config-jse.xml
         -Dcommon.components.home=/u01/app/oracle/product/em/mw/oracle_common
         -Dopss.version=12.1.3
         -Dweblogic.RootDirectory=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain
         -Xverify:none
         -Djava.endorsed.dirs=/u01/app/oracle/product/em/mw/oracle_common/jdk/jre/lib/endorsed:/u01/app/oracle/product/em/mw/oracle_common/modules/endorsed
         -Djava.security.policy=/u01/app/oracle/product/em/mw/wlserver/server/lib/weblogic.policy
         -Dweblogic.nodemanager.JavaHome=/u01/app/oracle/product/em/mw/oracle_common/jdk
         weblogic.NodeManager
         -v

oracle    19131  19071 Mar12 00:37:54 -Xms256M   -Xmx1740M  EMGC_ADMINSERVER
         /u01/app/oracle/product/em/mw/oracle_common/jdk/bin/java
         -server
         -Xms256M
         -Xmx1740M
         -XX:PermSize=128M
         -XX:MaxPermSize=1024M
         -XX:CompileThreshold=8000
         -XX:-DoEscapeAnalysis
         -XX:+UseCodeCacheFlushing
         -XX:ReservedCodeCacheSize=100M
         -XX:+UseConcMarkSweepGC
         -XX:+UseParNewGC
         -XX:+CMSClassUnloadingEnabled
         -Dweblogic.Name=EMGC_ADMINSERVER
         -Djava.security.policy=/u01/app/oracle/product/em/mw/wlserver/server/lib/weblogic.policy
         -Dweblogic.ProductionModeEnabled=true
         -Dweblogic.system.BootIdentityFile=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/servers/EMGC_ADMINSERVER/security/boot.properties
         -Dweblogic.nodemanager.ServiceEnabled=true
         -Dweblogic.nmservice.RotationEnabled=true
         -Djavax.xml.bind.JAXBContext=com.sun.xml.bind.v2.ContextFactory
         -Djava.security.egd=file:///dev/./urandom
         -Dweblogic.debug.DebugWebAppSecurity=true
         -Dweblogic.SSL.LoginTimeoutMillis=300000
         -Djps.auth.debug=true
         -Djps.authz=ACC
         -Djps.combiner.optimize.lazyeval=true
         -Djps.combiner.optimize=true
         -Djps.subject.cache.key=5
         -Djps.subject.cache.ttl=600000
         -Doracle.apm.home=/u01/app/oracle/product/em/mw/apm/
         -DAPM_HELP_FILENAME=oesohwconfig.xml
         -Dweblogic.data.canTransferAnyFile=true
         -Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2
         -DHTTPClient.retryNonIdempotentRequest=false
         -Dweblogic.security.SSL.minimumProtocolVersion=TLSv1
         -Djava.endorsed.dirs=/u01/app/oracle/product/em/mw/oracle_common/jdk/jre/lib/endorsed:/u01/app/oracle/product/em/mw/oracle_common/modules/endorsed
         -Djava.protocol.handler.pkgs=oracle.mds.net.protocol
         -Dopss.version=12.1.3
         -Digf.arisidbeans.carmlloc=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/config/fmwconfig/carml
         -Digf.arisidstack.home=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/config/fmwconfig/arisidprovider
         -Doracle.security.jps.config=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/config/fmwconfig/jps-config.xml
         -Doracle.deployed.app.dir=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/servers/EMGC_ADMINSERVER/tmp/_WL_user
         -Doracle.deployed.app.ext=/-
         -Dweblogic.alternateTypesDirectory=/u01/app/oracle/product/em/mw/oracle_common/modules/oracle.ossoiap_12.1.3,/u01/app/oracle/product/em/mw/oracle_common/modules/oracle.oamprovider_12.1.3,/u01/app/oracle/product/em/mw/oracle_common/modules/oracle.jps_12.1.3
         -Doracle.mds.filestore.preferred=
         -Dadf.version=12.1.3
         -Dweblogic.jdbc.remoteEnabled=false
         -Dcommon.components.home=/u01/app/oracle/product/em/mw/oracle_common
         -Djrf.version=12.1.3
         -Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger
         -Ddomain.home=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain
         -Doracle.server.config.dir=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/config/fmwconfig/servers/EMGC_ADMINSERVER
         -Doracle.domain.config.dir=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/config/fmwconfig
         -Dohs.product.home=/u01/app/oracle/product/em/mw/ohs
         -da
         -Dwls.home=/u01/app/oracle/product/em/mw/wlserver/server
         -Dweblogic.home=/u01/app/oracle/product/em/mw/wlserver/server
         -Djavax.management.builder.initial=weblogic.management.jmx.mbeanserver.WLSMBeanServerBuilder
         -Dxdo.server.config.dir=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/config/bipublisher
         -DXDO_FONT_DIR=/u01/app/oracle/product/em/mw/bi/common/fonts
         -Djava.util.logging.manager=oracle.core.ojdl.logging.ODLLogManager
         -Dweblogic.utils.cmm.lowertier.ServiceDisabled=true
         weblogic.Server

oracle    19869  19809 Mar12 00:36:05 -Xms256M   -Xmx1024M  BIP
         /u01/app/oracle/product/em/mw/oracle_common/jdk/bin/java
         -server
         -Xms256M
         -Xmx1024M
         -XX:MaxPermSize=512M
         -Dweblogic.Name=BIP
         -Djava.security.policy=/u01/app/oracle/product/em/mw/wlserver/server/lib/weblogic.policy
         -Dweblogic.ProductionModeEnabled=true
         -Dweblogic.system.BootIdentityFile=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/servers/BIP/data/nodemanager/boot.properties
         -Dweblogic.nodemanager.ServiceEnabled=true
         -Dweblogic.nmservice.RotationEnabled=true
         -Dweblogic.security.SSL.ignoreHostnameVerification=true
         -Dweblogic.ReverseDNSAllowed=false
         -DORACLE_HOME=/u01/app/oracle/product/em/mw
         -Djava.awt.headless=true
         -Djavax.xml.bind.JAXBContext=com.sun.xml.bind.v2.ContextFactory
         -Djava.security.egd=file:///dev/./urandom
         -Dweblogic.debug.DebugWebAppSecurity=true
         -Dweblogic.SSL.LoginTimeoutMillis=300000
         -Djps.auth.debug=true
         -Djps.authz=ACC
         -Djps.combiner.optimize.lazyeval=true
         -Djps.combiner.optimize=true
         -Djps.subject.cache.key=5
         -Djps.subject.cache.ttl=600000
         -Doracle.apm.home=/u01/app/oracle/product/em/mw/apm/
         -DAPM_HELP_FILENAME=oesohwconfig.xml
         -Dweblogic.data.canTransferAnyFile=true
         -Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2
         -DHTTPClient.retryNonIdempotentRequest=false
         -Dweblogic.security.SSL.minimumProtocolVersion=TLSv1
         -Djava.endorsed.dirs=/u01/app/oracle/product/em/mw/oracle_common/jdk/jre/lib/endorsed:/u01/app/oracle/product/em/mw/oracle_common/modules/endorsed
         -Djava.protocol.handler.pkgs=oracle.mds.net.protocol
         -Dopss.version=12.1.3
         -Digf.arisidbeans.carmlloc=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/config/fmwconfig/carml
         -Digf.arisidstack.home=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/config/fmwconfig/arisidprovider
         -Doracle.security.jps.config=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/config/fmwconfig/jps-config.xml
         -Doracle.deployed.app.dir=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/servers/BIP/tmp/_WL_user
         -Doracle.deployed.app.ext=/-
         -Dweblogic.alternateTypesDirectory=/u01/app/oracle/product/em/mw/oracle_common/modules/oracle.ossoiap_12.1.3,/u01/app/oracle/product/em/mw/oracle_common/modules/oracle.oamprovider_12.1.3,/u01/app/oracle/product/em/mw/oracle_common/modules/oracle.jps_12.1.3
         -Doracle.mds.filestore.preferred=
         -Dadf.version=12.1.3
         -Dweblogic.jdbc.remoteEnabled=false
         -Dcommon.components.home=/u01/app/oracle/product/em/mw/oracle_common
         -Djrf.version=12.1.3
         -Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger
         -Ddomain.home=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain
         -Doracle.server.config.dir=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/config/fmwconfig/servers/BIP
         -Doracle.domain.config.dir=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/config/fmwconfig
         -Dohs.product.home=/u01/app/oracle/product/em/mw/ohs
         -da
         -Dwls.home=/u01/app/oracle/product/em/mw/wlserver/server
         -Dweblogic.home=/u01/app/oracle/product/em/mw/wlserver/server
         -Djavax.management.builder.initial=weblogic.management.jmx.mbeanserver.WLSMBeanServerBuilder
         -Dxdo.server.config.dir=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/config/bipublisher
         -DXDO_FONT_DIR=/u01/app/oracle/product/em/mw/bi/common/fonts
         -Dxdo.server.config.dir=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/config/bipublisher
         -Dxdo.server.lightweight=true
         -DXDO_FONT_DIR=/u01/app/oracle/product/em/mw/bi/common/fonts
         -Dweblogic.DefaultProtocol=t3s
         -Dweblogic.jsp.javacompiler.javac=true
         -Dweblogic.management.server=https://www.theunavoidablehacker.com:7101
         -Djava.util.logging.manager=oracle.core.ojdl.logging.ODLLogManager
         -Dweblogic.utils.cmm.lowertier.ServiceDisabled=true
         weblogic.Server

oracle    25355  25295 Mar12 02:04:24 -Xms256M   -Xmx1740M  EMGC_OMS1
         /u01/app/oracle/product/em/mw/oracle_common/jdk/bin/java
         -server
         -Xms256M
         -Xmx1740M
         -XX:PermSize=128M
         -XX:MaxPermSize=768M
         -XX:CompileThreshold=8000
         -XX:-DoEscapeAnalysis
         -XX:+UseCodeCacheFlushing
         -XX:ReservedCodeCacheSize=100M
         -XX:+UseConcMarkSweepGC
         -XX:+UseParNewGC
         -XX:+CMSClassUnloadingEnabled
         -Dweblogic.Name=EMGC_OMS1
         -Djava.security.policy=/u01/app/oracle/product/em/mw/wlserver/server/lib/weblogic.policy
         -Dweblogic.ProductionModeEnabled=true
         -Dweblogic.system.BootIdentityFile=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/servers/EMGC_OMS1/data/nodemanager/boot.properties
         -Dweblogic.nodemanager.ServiceEnabled=true
         -Dweblogic.nmservice.RotationEnabled=true
         -Dweblogic.security.SSL.ignoreHostnameVerification=true
         -Dweblogic.ReverseDNSAllowed=false
         -DINSTANCE_HOME=/u01/app/oracle/product/em/gc_inst/em/EMGC_OMS1
         -DORACLE_HOME=/u01/app/oracle/product/em/mw
         -Ddomain.home=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain
         -Djava.awt.headless=true
         -Ddomain.name=GCDomain
         -Doracle.sysman.util.logging.mode=dual_mode
         -Djbo.doconnectionpooling=true
         -Djbo.txn.disconnect_level=1
         -Docm.repeater.home=/u01/app/oracle/product/em/mw
         -Djbo.ampool.minavailablesize=1
         -Djbo.ampool.timetolive=-1
         -Djbo.load.components.lazily=true
         -Djbo.max.cursors=5
         -Djbo.recyclethreshold=50
         -Djbo.ampool.maxavailablesize=50
         -Djavax.xml.bind.JAXBContext=com.sun.xml.bind.v2.ContextFactory
         -Djava.security.egd=file:///dev/./urandom
         -Dweblogic.debug.DebugWebAppSecurity=true
         -Dweblogic.SSL.LoginTimeoutMillis=300000
         -Djps.auth.debug=true
         -Djps.authz=ACC
         -Djps.combiner.optimize.lazyeval=true
         -Djps.combiner.optimize=true
         -Djps.subject.cache.key=5
         -Djps.subject.cache.ttl=600000
         -Doracle.apm.home=/u01/app/oracle/product/em/mw/apm/
         -DAPM_HELP_FILENAME=oesohwconfig.xml
         -Dweblogic.data.canTransferAnyFile=true
         -Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2
         -DHTTPClient.retryNonIdempotentRequest=false
         -Dweblogic.security.SSL.minimumProtocolVersion=TLSv1
         -Djava.endorsed.dirs=/u01/app/oracle/product/em/mw/oracle_common/jdk/jre/lib/endorsed:/u01/app/oracle/product/em/mw/oracle_common/modules/endorsed
         -Djava.protocol.handler.pkgs=oracle.mds.net.protocol
         -Dopss.version=12.1.3
         -Digf.arisidbeans.carmlloc=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/config/fmwconfig/carml
         -Digf.arisidstack.home=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/config/fmwconfig/arisidprovider
         -Doracle.security.jps.config=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/config/fmwconfig/jps-config.xml
         -Doracle.deployed.app.dir=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/servers/EMGC_OMS1/tmp/_WL_user
         -Doracle.deployed.app.ext=/-
         -Dweblogic.alternateTypesDirectory=/u01/app/oracle/product/em/mw/oracle_common/modules/oracle.ossoiap_12.1.3,/u01/app/oracle/product/em/mw/oracle_common/modules/oracle.oamprovider_12.1.3,/u01/app/oracle/product/em/mw/oracle_common/modules/oracle.jps_12.1.3
         -Doracle.mds.filestore.preferred=
         -Dadf.version=12.1.3
         -Dweblogic.jdbc.remoteEnabled=false
         -Dcommon.components.home=/u01/app/oracle/product/em/mw/oracle_common
         -Djrf.version=12.1.3
         -Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger
         -Ddomain.home=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain
         -Doracle.server.config.dir=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/config/fmwconfig/servers/EMGC_OMS1
         -Doracle.domain.config.dir=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/config/fmwconfig
         -Dohs.product.home=/u01/app/oracle/product/em/mw/ohs
         -da
         -Dwls.home=/u01/app/oracle/product/em/mw/wlserver/server
         -Dweblogic.home=/u01/app/oracle/product/em/mw/wlserver/server
         -Djavax.management.builder.initial=weblogic.management.jmx.mbeanserver.WLSMBeanServerBuilder
         -Dxdo.server.config.dir=/u01/app/oracle/product/em/gc_inst/user_projects/domains/GCDomain/config/bipublisher
         -DXDO_FONT_DIR=/u01/app/oracle/product/em/mw/bi/common/fonts
         -Dweblogic.management.server=https://www.theunavoidablehacker.com:7101
         -Djava.util.logging.manager=oracle.core.ojdl.logging.ODLL

The Code

Now for the bit you've all been waiting for;  I have written the alias out in long form to make it more readable.  Simply cut and paste this text into your profile and every time you logon you will have both 'lsjvm' and 'lsjvmx' to use.

lsjvm

alias lsjvm="ps -aef | grep -i -e 'java' |grep -v 'grep'| awk -F '( +)|( -D)|(=)|(-XX:)' '
BEGIN {
        print(\"UID         PID   PPID STIME   TIME   MIN        MAX        PROGRAM\")
        }
{
        program=\$NF; 
        for(i=1;i<=NF;i++)
        {
                if (\$i ~ /weblogic.Name/)
                {
                        program=\$(i+1)
                }
                if (\$i ~ /weblogic.NodeManager/)
                {
                        program=\$i
                }
                if (\$i ~ /Xms/)
                {
                        minmem=\$i
                }
                if (\$i ~ /Xmx/)
                {
                        maxmem=\$(i)
                }
        }
        printf(\"%-8s %6d %6d %5s %8s %-10s %-10s %s\n\",\$1,\$2,\$3,\$5,\$7,minmem,maxmem,program)
}'"

lsjvmx


alias lsjvmx="ps -aef | grep -i -e 'java' | grep -v grep | awk '
BEGIN {
                print(\"UID         PID   PPID STIME   TIME    MIN       MAX        PROGRAM\")
          } 
{
        program=\$NF; 
        for(i=1;i<=NF;i++) 
        {
                if (i>7)
                {
                        options[i]=\$i
                }
                if (\$i ~ /weblogic.Name/)
                {
                        split(\$i,a,\"=\")
                        program=a[2]
                }
                if (\$i ~ /weblogic.NodeManager/)
                {
                        program=\$i
                }
                if (\$i ~ /Xms/)
                {
                        minmem=\$i
                }
                if (\$i ~ /Xmx/)
                {
                        maxmem=\$(i)
                }
        } 
        printf(\"%-8s %6d %6d %5s %8s %-10s %-10s %s\n\",\$1,\$2,\$3,\$5,\$7,minmem,maxmem,program)
        for(i=8;i<=NF;i++)
        {
                printf(\"%9s%s\n\",\" \",options[i])
        }
        printf(\"\n\")
        delete options
}
'
"