首页 > 其他分享 >JVM常用

JVM常用

时间:2024-02-29 13:44:56浏览次数:27  
标签:OPT 常用 java jar XX JVM JAVA

JVM 包含多种不同类型的参数选项
-D 用来设置系统属性,属于标准选项
-X 设置非标准选项,支持的选项范围跟具体的 JVM 实现有关
-XX 设置高级选项,允许开发者调整 JVM 的行为、性能、输出调试信息,支持的选项范围也跟具体的 JVM 实现有关
布尔类型的高级选项是起到功能的开关作用,不带参数。使用 + 启用功能,使用 - 禁用功能;对于带参数的高级选项,需要指定参数值
使用 java -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+PrintFlagsFinal -version 命令可以查看 JVM 所有的选项

 

 

-XX:+PrintFlagsInitial:打印出各个 JVM 参数的默认值。它的输出内容和 -XX:PrintFlagsFinal 类似。

在 OpenJDK 17 中,这两个选项输出行数是一样的,都是 559 行:

$ java -XX:+PrintFlagsInitial -version | wc -l
559
$ java -XX:+PrintFlagsFinal -version | wc -l
openjdk version "17.0.5" 2022-10-18
OpenJDK Runtime Environment (build 17.0.5+8-Ubuntu-2ubuntu120.04)
OpenJDK 64-Bit Server VM (build 17.0.5+8-Ubuntu-2ubuntu120.04, mixed mode, sharing)
559

 

 

 

-XX:+PrintCommandLineFlags

-XX:+PrintCommandLineFlags 也是一个非常有用的参数,它可以打印出那些我们通过命令行指定或者 JVM 自动在命令行上设置的参数。

java -XX:+PrintCommandLineFlags -version
-XX:ConcGCThreads=2 -XX:G1ConcRefinementThreads=8 -XX:GCDrainStackTargetSize=64 -XX:InitialHeapSize=62422080 -XX:MarkStackSize=4194304 -XX:MaxHeapSize=998753280 -XX:MinHeapSize=6815736 -XX:+PrintCommandLineFlags -XX:ReservedCodeCacheSize=251658240 -XX:+SegmentedCodeCache -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseG1GC
openjdk version "17.0.5" 2022-10-18
OpenJDK Runtime Environment (build 17.0.5+8-Ubuntu-2ubuntu120.04)
OpenJDK 64-Bit Server VM (build 17.0.5+8-Ubuntu-2ubuntu120.04, mixed mode, sharing)

 

 

【实战小记】java启动参数JAVA_OPT不生效问题

 

有个项目,启动脚本里面用这个方式启动:

java -jar $MODULER.jar $JAVA_OPT

现象:能正常起来,但是占用内存一直比较高,比较稳定,然后不断调优java_opt的内存参数,但是没效果

 

解决:

修改启动顺序如下,内存降下来了
java $JAVA_OPT -jar  $MODULER.jar

 

原因:

java启动参数顺序还是有讲究

1) java -jar $MODULER.jar $JAVA_OPT  

因为$JAVA_OPT是没传递给jvm,只是当做jar包的可用参数而存在。所以怎么调优参数值无效果

2)java  $JAVA_OPT  -jar $MODULER.jar

这个是正确的, $JAVA_OPT传递给jvm,在启动的时候生效,内存也降下来了。

标签:OPT,常用,java,jar,XX,JVM,JAVA
From: https://www.cnblogs.com/fieldtianye/p/18043505

相关文章

  • 容器化环境中,JVM最佳参数配置实践
    本文分享自华为云社区《Java应用容器化参数配置最佳实践》,作者:可以交个朋友。简介当你在物理机或者虚拟机上配置JVM参数时,JVM会默认使用主机上1/4的内存作为堆内存,你也可以选择使用-Xmx/-Xms来指定Java堆内存大小。在容器化环境中,每个容器实例的内存大小由Cgroups配置决定,......
  • Linux 常用维护命令
    1、检查cat/etc/passwd这个文件里面有没有异常用户名2、通过命令top查看是否有异常进程,按M键对进程进行排序3、通过命令netstat-lnpt,查看是否有异常端口号4、通过命令ll-a/proc/PID,查看异常进程执行文件所在位置5、通过命令kill-9PID,杀掉该进程6、通过命令find/usr/lo......
  • su常用 快捷键
    快捷键其它版本......
  • SpringMVC系列之(三)常用注解
    常用注解1.RequestMappingRequestMapping可以放在类上和方法上,放在类上表示一级目录,或表示某一个具体的模块属性path和value属性的作用相同method决定方法的请求方式params:请求必须包含的参数headers:请求必须包含的请求头以上的属性出现多个,需要同时满足2.RequestPa......
  • markdown常用句法——我的博客启程
    MarkDown学习标题:三级标题最多到六级标题字体HelloWorld!前后加**HelloWorld!前后加*HelloWorld!前后加***HelloWorld!前后加~~引用选择狂神说java,走向人生巅峰(前面加>)分割线三个杠和三个*图片超链接[点击跳转到狂神博客](遇见狂神说-博客园(cnblogs.com......
  • Java基础-常用类
    一、字符串相关的类1.String的特性String类:代表字符串。Java程序中的所有字符串字面值(如"abc")都作为此类的实例实现。String是一个final类,代表不可变的字符序列。字符串是常量,用双引号引起来表示。他们的值在创建之后不能更改。String对象的字符内容是存储在一个字符数......
  • ipmitool是很常见的物理机管理工具,这里分享一些ipmitool经常用到的一些命令
    ipmitool-Ilanplus-H$oob_ip-Uroot-P密码poweroff(硬关机,直接切断电源)ipmitool-Ilanplus-H$oob_ip-Uroot-P密码powersoft(软关机,即如同轻按一下开机按钮)ipmitool-Ilanplus-H$oob_ip-Uroot-P密码poweron(硬开机)ipmitool-Ilanplus-H$oo......
  • linux 中 printf函数常用选项设置占位长度、左对齐、输出百分号
     001、设置占位长度[root@pc1test1]#printf"%s\n""abc"##一般输出abc[root@pc1test1]#printf"%20s\n""abc"##设置占位长度20,默认情况下是右对齐abc[root@pc1test1]#printf"%-2......
  • 【施工中】组合常用公式集锦
    咕咕咕中本文不提供所有公式严格证明,包含大量感性理解()1.基本公式【命题$1.0$】\[\dbinom{n}{m}=\dbinom{n-1}{m}+\dbinom{n-1}{m-1}\]从$n$个物品中取$m$个分为两种情况:包含一个物品$i$或不包含$i$。包含$i$时有$\binom{n-1}{m-1}$种,不包含时则有......
  • Qt 常用基础设置
    //右键菜单无效setContextMenuPolicy(Qt::NoContextMenu);//设置窗口背景透明setAttribute(Qt::WA_TranslucentBackground);//设置外框隐藏setWindowFlag(Qt::FramelessWindowHint);//设置无焦点setFocusPolicy(Qt::NoFocus);//设置lineEdit未输入字时显示文字l......