Last active
December 15, 2021 22:36
-
-
Save marcomalva/1e36ae1d47c81d2d17da9b4e4c63d25a to your computer and use it in GitHub Desktop.
[Java JVM - Print Flags Related To Periodic GC]JVM GC Added Periodic GC Option to Some GC Algorithms #java #jvm #gc
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# | |
# check for JVM flags pertaining periodic GC (uncommit, periodic, Shenandoa) | |
java -XX:+PrintFlagsFinal -version | grep -iE "uncommit|periodic|Shenandoa" | |
# and to show the JVM and OS settings as well the JVM version | |
java -XshowSettings:all -version | |
# testing with java8, java11 and java17 | |
/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java -XX:+PrintFlagsFinal -version | grep -iE "uncommit|periodic|Shenandoa" | |
/usr/lib/jvm/java-1.11.0-openjdk-amd64/bin/java -XX:+PrintFlagsFinal -version | grep -iE "uncommit|periodic|Shenandoa" | |
~/.linuxbrew/bin/java -XX:+PrintFlagsFinal -version | grep -iE "uncommit|periodic|Shenandoa" | |
# Output Example | |
# | |
# $ /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java -XX:+PrintFlagsFinal -version | grep -iE "uncommit|periodic|Shenandoa" | |
# OpenJDK Runtime Environment (build 1.8.0_292-8u292-b10-0ubuntu1~20.04-b10) | |
# OpenJDK 64-Bit Server VM (build 25.292-b10, mixed mode) | |
# | |
# $ /usr/lib/jvm/java-1.11.0-openjdk-amd64/bin/java -XX:+PrintFlagsFinal -version | grep -iE "uncommit|periodic|Shenandoa" | |
# ccstr ShenandoahGCHeuristics = adaptive {product} {default} | |
# ccstr ShenandoahGCMode = satb {product} {default} | |
# size_t ShenandoahSoftMaxHeapSize = 0 {manageable} {default} | |
# bool UseShenandoahGC = false {product} {default} | |
# openjdk version "11.0.11" 2021-04-20 | |
# OpenJDK Runtime Environment (build 11.0.11+9-Ubuntu-0ubuntu2.20.04) | |
# OpenJDK 64-Bit Server VM (build 11.0.11+9-Ubuntu-0ubuntu2.20.04, mixed mode, sharing) | |
# | |
# $ ~/.linuxbrew/bin/java -XX:+PrintFlagsFinal -version | grep -iE "uncommit|periodic|Shenandoa" | |
# uintx G1PeriodicGCInterval = 0 {manageable} {default} | |
# bool G1PeriodicGCInvokesConcurrent = true {product} {default} | |
# double G1PeriodicGCSystemLoadThreshold = 0.000000 {manageable} {default} | |
# ccstr ShenandoahGCHeuristics = adaptive {product} {default} | |
# ccstr ShenandoahGCMode = satb {product} {default} | |
# bool UseShenandoahGC = false {product} {default} | |
# bool ZUncommit = true {product} {default} | |
# uintx ZUncommitDelay = 300 {product} {default} | |
# openjdk version "17" 2021-09-14 | |
# OpenJDK Runtime Environment Homebrew (build 17+0) | |
# OpenJDK 64-Bit Server VM Homebrew (build 17+0, mixed mode, sharing) | |
# Output of java -XshowSettings:all -version | |
# | |
# $ /usr/lib/jvm/java-11-openjdk-amd64/bin/java -XshowSettings:all -version | |
# VM settings: | |
# Max. Heap Size (Estimated): 7.77G | |
# Using VM: OpenJDK 64-Bit Server VM | |
# | |
# Property settings: | |
# awt.toolkit = sun.awt.X11.XToolkit | |
# file.encoding = UTF-8 | |
# file.separator = / | |
# java.awt.graphicsenv = sun.awt.X11GraphicsEnvironment | |
# java.awt.printerjob = sun.print.PSPrinterJob | |
# java.class.path = | |
# java.class.version = 55.0 | |
# java.home = /usr/lib/jvm/java-11-openjdk-amd64 | |
# java.io.tmpdir = /tmp | |
# java.library.path = | |
# /usr/lib64/openmpi/lib/ | |
# /usr/java/packages/lib | |
# /usr/lib/x86_64-linux-gnu/jni | |
# /lib/x86_64-linux-gnu | |
# /usr/lib/x86_64-linux-gnu | |
# /usr/lib/jni | |
# /lib | |
# /usr/lib | |
# java.runtime.name = OpenJDK Runtime Environment | |
# java.runtime.version = 11.0.11+9-Ubuntu-0ubuntu2.20.04 | |
# java.specification.name = Java Platform API Specification | |
# java.specification.vendor = Oracle Corporation | |
# java.specification.version = 11 | |
# java.vendor = Ubuntu | |
# java.vendor.url = https://ubuntu.com/ | |
# java.vendor.url.bug = https://bugs.launchpad.net/ubuntu/+source/openjdk-lts | |
# java.version = 11.0.11 | |
# java.version.date = 2021-04-20 | |
# java.vm.compressedOopsMode = Zero based | |
# java.vm.info = mixed mode, sharing | |
# java.vm.name = OpenJDK 64-Bit Server VM | |
# java.vm.specification.name = Java Virtual Machine Specification | |
# java.vm.specification.vendor = Oracle Corporation | |
# java.vm.specification.version = 11 | |
# java.vm.vendor = Ubuntu | |
# java.vm.version = 11.0.11+9-Ubuntu-0ubuntu2.20.04 | |
# jdk.debug = release | |
# line.separator = \n | |
# os.arch = amd64 | |
# os.name = Linux | |
# os.version = 5.13.0-7620-generic | |
# path.separator = : | |
# sun.arch.data.model = 64 | |
# sun.boot.library.path = /usr/lib/jvm/java-11-openjdk-amd64/lib | |
# sun.cpu.endian = little | |
# sun.cpu.isalist = | |
# sun.desktop = gnome | |
# sun.io.unicode.encoding = UnicodeLittle | |
# sun.java.launcher = SUN_STANDARD | |
# sun.jnu.encoding = UTF-8 | |
# sun.management.compiler = HotSpot 64-Bit Tiered Compilers | |
# sun.os.patch.level = unknown | |
# user.country = US | |
# user.dir = /home/mmalva/dev/lava-feature/datacore4 | |
# user.home = /home/mmalva | |
# user.language = en | |
# user.name = mmalva | |
# user.timezone = | |
# | |
# Locale settings: | |
# default locale = English (United States) | |
# default display locale = English (United States) | |
# default format locale = English (United States) | |
# available locales = , af, af_NA, af_ZA, agq, agq_CM, ak, ak_GH, | |
# am, am_ET, ar, ar_001, ar_AE, ar_BH, ar_DJ, ar_DZ, | |
# ar_EG, ar_EH, ar_ER, ar_IL, ar_IQ, ar_JO, ar_KM, ar_KW, | |
# ar_LB, ar_LY, ar_MA, ar_MR, ar_OM, ar_PS, ar_QA, ar_SA, | |
# ar_SD, ar_SO, ar_SS, ar_SY, ar_TD, ar_TN, ar_YE, as, | |
# as_IN, asa, asa_TZ, ast, ast_ES, az, az_AZ_#Cyrl, az_AZ_#Latn, | |
# az__#Cyrl, az__#Latn, bas, bas_CM, be, be_BY, bem, bem_ZM, | |
# bez, bez_TZ, bg, bg_BG, bm, bm_ML, bn, bn_BD, | |
# bn_IN, bo, bo_CN, bo_IN, br, br_FR, brx, brx_IN, | |
# bs, bs_BA_#Cyrl, bs_BA_#Latn, bs__#Cyrl, bs__#Latn, ca, ca_AD, ca_ES, | |
# ca_ES_VALENCIA, ca_FR, ca_IT, ccp, ccp_BD, ccp_IN, ce, ce_RU, | |
# cgg, cgg_UG, chr, chr_US, ckb, ckb_IQ, ckb_IR, cs, | |
# cs_CZ, cu, cu_RU, cy, cy_GB, da, da_DK, da_GL, | |
# dav, dav_KE, de, de_AT, de_BE, de_CH, de_DE, de_IT, | |
# de_LI, de_LU, dje, dje_NE, dsb, dsb_DE, dua, dua_CM, | |
# dyo, dyo_SN, dz, dz_BT, ebu, ebu_KE, ee, ee_GH, | |
# ee_TG, el, el_CY, el_GR, en, en_001, en_150, en_AG, | |
# en_AI, en_AS, en_AT, en_AU, en_BB, en_BE, en_BI, en_BM, | |
# en_BS, en_BW, en_BZ, en_CA, en_CC, en_CH, en_CK, en_CM, | |
# en_CX, en_CY, en_DE, en_DG, en_DK, en_DM, en_ER, en_FI, | |
# en_FJ, en_FK, en_FM, en_GB, en_GD, en_GG, en_GH, en_GI, | |
# en_GM, en_GU, en_GY, en_HK, en_IE, en_IL, en_IM, en_IN, | |
# en_IO, en_JE, en_JM, en_KE, en_KI, en_KN, en_KY, en_LC, | |
# en_LR, en_LS, en_MG, en_MH, en_MO, en_MP, en_MS, en_MT, | |
# en_MU, en_MW, en_MY, en_NA, en_NF, en_NG, en_NL, en_NR, | |
# en_NU, en_NZ, en_PG, en_PH, en_PK, en_PN, en_PR, en_PW, | |
# en_RW, en_SB, en_SC, en_SD, en_SE, en_SG, en_SH, en_SI, | |
# en_SL, en_SS, en_SX, en_SZ, en_TC, en_TK, en_TO, en_TT, | |
# en_TV, en_TZ, en_UG, en_UM, en_US, en_US_POSIX, en_VC, en_VG, | |
# en_VI, en_VU, en_WS, en_ZA, en_ZM, en_ZW, eo, eo_001, | |
# es, es_419, es_AR, es_BO, es_BR, es_BZ, es_CL, es_CO, | |
# es_CR, es_CU, es_DO, es_EA, es_EC, es_ES, es_GQ, es_GT, | |
# es_HN, es_IC, es_MX, es_NI, es_PA, es_PE, es_PH, es_PR, | |
# es_PY, es_SV, es_US, es_UY, es_VE, et, et_EE, eu, | |
# eu_ES, ewo, ewo_CM, fa, fa_AF, fa_IR, ff, ff_CM, | |
# ff_GN, ff_MR, ff_SN, fi, fi_FI, fil, fil_PH, fo, | |
# fo_DK, fo_FO, fr, fr_BE, fr_BF, fr_BI, fr_BJ, fr_BL, | |
# fr_CA, fr_CD, fr_CF, fr_CG, fr_CH, fr_CI, fr_CM, fr_DJ, | |
# fr_DZ, fr_FR, fr_GA, fr_GF, fr_GN, fr_GP, fr_GQ, fr_HT, | |
# fr_KM, fr_LU, fr_MA, fr_MC, fr_MF, fr_MG, fr_ML, fr_MQ, | |
# fr_MR, fr_MU, fr_NC, fr_NE, fr_PF, fr_PM, fr_RE, fr_RW, | |
# fr_SC, fr_SN, fr_SY, fr_TD, fr_TG, fr_TN, fr_VU, fr_WF, | |
# fr_YT, fur, fur_IT, fy, fy_NL, ga, ga_IE, gd, | |
# gd_GB, gl, gl_ES, gsw, gsw_CH, gsw_FR, gsw_LI, gu, | |
# gu_IN, guz, guz_KE, gv, gv_IM, ha, ha_GH, ha_NE, | |
# ha_NG, haw, haw_US, hi, hi_IN, hr, hr_BA, hr_HR, | |
# hsb, hsb_DE, hu, hu_HU, hy, hy_AM, ig, ig_NG, | |
# ii, ii_CN, in, in_ID, is, is_IS, it, it_CH, | |
# it_IT, it_SM, it_VA, iw, iw_IL, ja, ja_JP, ja_JP_JP_#u-ca-japanese, | |
# jgo, jgo_CM, ji, ji_001, jmc, jmc_TZ, ka, ka_GE, | |
# kab, kab_DZ, kam, kam_KE, kde, kde_TZ, kea, kea_CV, | |
# khq, khq_ML, ki, ki_KE, kk, kk_KZ, kkj, kkj_CM, | |
# kl, kl_GL, kln, kln_KE, km, km_KH, kn, kn_IN, | |
# ko, ko_KP, ko_KR, kok, kok_IN, ks, ks_IN, ksb, | |
# ksb_TZ, ksf, ksf_CM, ksh, ksh_DE, kw, kw_GB, ky, | |
# ky_KG, lag, lag_TZ, lb, lb_LU, lg, lg_UG, lkt, | |
# lkt_US, ln, ln_AO, ln_CD, ln_CF, ln_CG, lo, lo_LA, | |
# lrc, lrc_IQ, lrc_IR, lt, lt_LT, lu, lu_CD, luo, | |
# luo_KE, luy, luy_KE, lv, lv_LV, mas, mas_KE, mas_TZ, | |
# mer, mer_KE, mfe, mfe_MU, mg, mg_MG, mgh, mgh_MZ, | |
# mgo, mgo_CM, mk, mk_MK, ml, ml_IN, mn, mn_MN, | |
# mr, mr_IN, ms, ms_BN, ms_MY, ms_SG, mt, mt_MT, | |
# mua, mua_CM, my, my_MM, mzn, mzn_IR, naq, naq_NA, | |
# nb, nb_NO, nb_SJ, nd, nd_ZW, nds, nds_DE, nds_NL, | |
# ne, ne_IN, ne_NP, nl, nl_AW, nl_BE, nl_BQ, nl_CW, | |
# nl_NL, nl_SR, nl_SX, nmg, nmg_CM, nn, nn_NO, nnh, | |
# nnh_CM, no, no_NO, no_NO_NY, nus, nus_SS, nyn, nyn_UG, | |
# om, om_ET, om_KE, or, or_IN, os, os_GE, os_RU, | |
# pa, pa_IN_#Guru, pa_PK_#Arab, pa__#Arab, pa__#Guru, pl, pl_PL, prg, | |
# prg_001, ps, ps_AF, pt, pt_AO, pt_BR, pt_CH, pt_CV, | |
# pt_GQ, pt_GW, pt_LU, pt_MO, pt_MZ, pt_PT, pt_ST, pt_TL, | |
# qu, qu_BO, qu_EC, qu_PE, rm, rm_CH, rn, rn_BI, | |
# ro, ro_MD, ro_RO, rof, rof_TZ, ru, ru_BY, ru_KG, | |
# ru_KZ, ru_MD, ru_RU, ru_UA, rw, rw_RW, rwk, rwk_TZ, | |
# sah, sah_RU, saq, saq_KE, sbp, sbp_TZ, sd, sd_PK, | |
# se, se_FI, se_NO, se_SE, seh, seh_MZ, ses, ses_ML, | |
# sg, sg_CF, shi, shi_MA_#Latn, shi_MA_#Tfng, shi__#Latn, shi__#Tfng, si, | |
# si_LK, sk, sk_SK, sl, sl_SI, smn, smn_FI, sn, | |
# sn_ZW, so, so_DJ, so_ET, so_KE, so_SO, sq, sq_AL, | |
# sq_MK, sq_XK, sr, sr_BA, sr_BA_#Cyrl, sr_BA_#Latn, sr_CS, sr_ME, | |
# sr_ME_#Cyrl, sr_ME_#Latn, sr_RS, sr_RS_#Cyrl, sr_RS_#Latn, sr_XK_#Cyrl, sr_XK_#Latn, sr__#Cyrl, | |
# sr__#Latn, sv, sv_AX, sv_FI, sv_SE, sw, sw_CD, sw_KE, | |
# sw_TZ, sw_UG, ta, ta_IN, ta_LK, ta_MY, ta_SG, te, | |
# te_IN, teo, teo_KE, teo_UG, tg, tg_TJ, th, th_TH, | |
# th_TH_TH_#u-nu-thai, ti, ti_ER, ti_ET, tk, tk_TM, to, to_TO, | |
# tr, tr_CY, tr_TR, tt, tt_RU, twq, twq_NE, tzm, | |
# tzm_MA, ug, ug_CN, uk, uk_UA, ur, ur_IN, ur_PK, | |
# uz, uz_AF_#Arab, uz_UZ_#Cyrl, uz_UZ_#Latn, uz__#Arab, uz__#Cyrl, uz__#Latn, vai, | |
# vai_LR_#Latn, vai_LR_#Vaii, vai__#Latn, vai__#Vaii, vi, vi_VN, vo, vo_001, | |
# vun, vun_TZ, wae, wae_CH, wo, wo_SN, xog, xog_UG, | |
# yav, yav_CM, yo, yo_BJ, yo_NG, yue, yue_CN_#Hans, yue_HK_#Hant, | |
# yue__#Hans, yue__#Hant, zgh, zgh_MA, zh, zh_CN, zh_CN_#Hans, zh_HK, | |
# zh_HK_#Hans, zh_HK_#Hant, zh_MO_#Hans, zh_MO_#Hant, zh_SG, zh_SG_#Hans, zh_TW, zh_TW_#Hant, | |
# zh__#Hans, zh__#Hant, zu, zu_ZA | |
# Operating System Metrics: | |
# Provider: cgroupv1 | |
# Effective CPU Count: 12 | |
# CPU Period: 100000us | |
# CPU Quota: -1 | |
# CPU Shares: -1 | |
# List of Processors, 12 total: | |
# 0 1 2 3 4 5 6 7 8 9 10 11 | |
# List of Effective Processors, 12 total: | |
# 0 1 2 3 4 5 6 7 8 9 10 11 | |
# List of Memory Nodes, 1 total: | |
# 0 | |
# List of Available Memory Nodes, 1 total: | |
# 0 | |
# CPUSet Memory Pressure Enabled: false | |
# Memory Limit: Unlimited | |
# Memory Soft Limit: Unlimited | |
# Memory & Swap Limit: Unlimited | |
# Kernel Memory Limit: Unlimited | |
# TCP Memory Limit: Unlimited | |
# Out Of Memory Killer Enabled: true | |
# | |
# openjdk version "11.0.11" 2021-04-20 | |
# OpenJDK Runtime Environment (build 11.0.11+9-Ubuntu-0ubuntu2.20.04) | |
# OpenJDK 64-Bit Server VM (build 11.0.11+9-Ubuntu-0ubuntu2.20.04, mixed mode, sharing) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment