Showing Available Heap Sizes in MB
The output of the zing-ps -acct command
is in bytes; you might prefer to think in Megabytes.
This technique is based on the zing-ps –acct
command and is a one-line script that uses the Linux grep command to search the output combined with the Linux awk
command to calculate and format the output.
The output from the zing-ps –acct
command is searched by grep for the line containing the Committed string. The awk
command uses $3
to select the third field which is the available balance in column three of the output with the heading BALANCE
.
The following one-line script prints the maximum Available Heap size for the JVM command option –Xmx
and if other JVMs have already been started this is less than the maximum Reservable value in column four headed MAXIMUM.
$ $ echo "Azul Zulu Prime JVM Available Heapsize (MB) is "`zing-ps --acct|grep Committed|awk '{print int($3/(1024*1024))}'
To read the total Reservable value in MB, in this one-line script the awk command is modified to use $4 to select the fourth field which is the MAXIMUM balance
$ $ echo "Azul Zulu Prime JVM Total Heapsize (MB) is "`zing-ps --acct|grep Committed|awk '{print int($4/(1024*1024))}
$ [source, shell,opts="user,check"]
Example 1: No JVMs have been started.
$ [root@localhost bin]# zing-ps --acct
$ Fund breakdown (total 8)
$ NAME BALANCE MAXIMUM
$ fund[0]: Committed 4041211904 4041211904
$ fund[1]: Overdraft 222298112 222298112
$ fund[2]: Unknown 0 0
$ fund[3]: PausePrevention 222298112 222298112
$ fund[4]: Unknown 0 0
$ fund[5]: Unknown 0 0
$ fund[6]: Unknown 0 0
$ fund[7]: Unknown 0 0
$ Found 0 processes.
$ [root@localhost bin]# echo "Azul Zulu Prime JVM Available Heapsize (MB) is "`zing-ps --acct|grep Committed|awk '{print int($3/(1024*1024))}'`
$ Azul Zulu Prime JVM Available Heapsize (MB) is 3854
$ [root@localhost bin]# echo "Azul Zulu Prime JVM Total Heapsize (MB) is "`zing-ps --acct|grep Committed|awk '{print int($4/(1024*1024))}'`
$ Azul Zulu Prime JVM Total Heapsize (MB) is 3854
$ root 5785 java
$ NAME BALANCE ALLOCATED MAXIMUM FND ODFND
$ account[0]: default 10485760 2097152 12582912 0 1
$ account[1]: emergency_gc 0 0 0 -1 -1
$ account[2]: heap 555745280 505413632 1283457024 0 1
$ account[3]: pause_prevention 0 0 274877906944 3 3
$ account[4]: unknown 0 0 0 -1 -1
$ account[5]: unknown 0 0 0 -1 -1
$ account[6]: unknown 0 0 0 -1 -1
$ account[7]: unknown 0 0 0 -1 -1
$ [root@localhost bin]# echo "Azul Zulu Prime JVM Available Heapsize (MB) is "`zing-ps --acct|grep Committed|awk '{print int($3/(1024*1024))}'`
$ Azul Zulu Prime JVM Available Heapsize (MB) is 2830
$ [root@localhost bin]# echo "Azul Zulu Prime JVM Total Heapsize (MB) is "`zing-ps --acct|grep Committed|awk '{print int($4/(1024*1024))}'`
$ Azul Zulu Prime JVM Total Heapsize (MB) is 3854
Example 2: An Azul Inspector 1GB JVM has been started.
See Azul Systems website to download free Open Source tool Azul Inspector, at https://www.azul.com/products/components/azul-inspector/.
$ [root@localhost bin]# zing-ps --acct
$ Fund breakdown (total 8)
$ NAME BALANCE MAXIMUM
$ fund[0]: Committed 2967470080 4041211904
$ fund[1]: Overdraft 222298112 222298112
$ fund[2]: Unknown 0 0
$ fund[3]: PausePrevention 222298112 222298112
$ fund[4]: Unknown 0 0
$ fund[5]: Unknown 0 0
$ fund[6]: Unknown 0 0
$ fund[7]: Unknown 0 0
$ Found 1 processes.
$ USER PID PROCESS
$ root 5785 java
$ NAME BALANCE ALLOCATED MAXIMUM FND ODFND
$ account[0]: default 10485760 2097152 12582912 0 1
$ account[1]: emergency_gc 0 0 0 -1 -1
$ account[2]: heap 555745280 505413632 1283457024 0 1
$ account[3]: pause_prevention 0 0 274877906944 3 3
$ account[4]: unknown 0 0 0 -1 -1
$ account[5]: unknown 0 0 0 -1 -1
$ account[6]: unknown 0 0 0 -1 -1
$ account[7]: unknown 0 0 0 -1 -1
$ [root@localhost bin]# echo "Azul Zulu Prime JVM Available Heapsize (MB) is "`zing-ps --acct|grep Committed|awk '{print int($3/(1024*1024))}'`
$ Azul Zulu Prime JVM Available Heapsize (MB) is 2830
$ [root@localhost bin]# echo "Azul Zulu Prime JVM Total Heapsize (MB) is "`zing-ps --acct|grep Committed|awk '{print int($4/(1024*1024))}'`
$ Azul Zulu Prime JVM Total Heapsize (MB) is 3854