Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >JVM Param

JVM Param

作者头像
itliusir
发布于 2019-12-11 04:18:23
发布于 2019-12-11 04:18:23
84200
代码可运行
举报
文章被收录于专栏:刘君君刘君君
运行总次数:0
代码可运行

摘要: jvm param

正文:

JVM 参数

JVM 参数类型

标准参数

  • -help
  • -server -client
  • -version -showvesion
  • -cp -classpath

X参数

非标准化参数

  • -Xint 解释执行
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ java -Xint -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, interpreted mode)
  • -Xcomp 第一次使用就编译成本地代码
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ java -Xcomp -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, compiled mode)
  • -Xmixed 混合模式,JVM自己来决定是否编译成本地代码
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)

XX参数

非标准化参数,相对不稳定,主要用于JVM调优和调试

  • Boolean 类型 格式:-XX:[+-] 表示启用或 者禁用name属性 exp :-XX:+UseConcMarkSweepGC -XX:+UseG1GC
  • 非 Boolean 类型 格式:-XX:= 表示name属性的值是value exp :-XX:MaxGCPauseMillis=500 -XX:GCTimeRatio=19
  • -Xmx -Xms …参数 不是X参数,而是XX参数 -Xms 等价于 -XX:InitialHeapSize= Heap初始化的大小
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ jinfo.exe -flag InitialHeapSize 20016
-XX:InitialHeapSize=1073741824 # 1G

-Xmx 等价于 -XX:MaxHeapSize= Heap的最大值

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ jinfo.exe -flag MaxHeapSize 20016
-XX:MaxHeapSize=1073741824 # 1G

-Xss 等价于 -XX:ThreadStackSize= 线程栈的大小,默认1M

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ jinfo.exe -flag ThreadStackSize 20016
-XX:ThreadStackSize=1024 # 1M 

-Xmn 等价于 -XX:MaxNewSize= -XX:NewSize= 新生代的大小

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ jinfo.exe -flag MaxNewSize 20016
-XX:MaxNewSize=536870912 # 512M

$ jinfo.exe -flag NewSize 20016
-XX:NewSize=536870912	# 512M

查看JVM运行时参数

  • -XX:+PrintFlagsInitial 查看初始值
  • -XX:+PrintFlagsFinal 查看最终值
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ java -XX:+PrintFlagsFinal -version
[Global flags]
	...
	bool UseConcMarkSweepGC                        = false
    bool UseParallelGC                            := true
    uintx MaxHeapSize                             := 4227858432                		uintx MaxMetaspaceSize                         = 4294901760
    ...
  • -XX:+UnlockExperimentalVMOptions 解锁实验参数
  • -XX:+UnlockDiagnosticVMOptions 解锁诊断参数
  • -XX:+PrintCommandLineFlags 打印命令行参数
  • jinfo
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ jinfo.exe -flags 20016
Attaching to process ID 20016, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.144-b01
Non-default VM flags: -XX:-BytecodeVerificationLocal -XX:-BytecodeVerificationRemote -XX:CICompilerCount=4 -XX:+CMSClassUnloadingEnabled -XX:CMSInitiatingOccupancyFraction=80 -XX:CMSMaxAbortablePrecleanTime=5000 ...
  • jps 类似ps命令
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ jps
20016 YssBaseAdminApplication
11704 YssBaseAuthApplication
20824 AuthDataSyncApplication
14140 ApiGatewayApplication
21564 Jps
  • jstat 查看类装载信息
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ jstat -class 20016 1000 3
Loaded  Bytes  Unloaded  Bytes     Time
 17738 37286.3        0     0.0      14.17
 17738 37286.3        0     0.0      14.17
 17738 37286.3        0     0.0      14.17

查看垃圾收集信息

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ jstat -gc 20016 1000 3
 S0C    S1C    S0U    S1U      EC       EU        OC         OU       MC     MU    CCSC   CCSU   YGC     YGCT    FGC    FGCT     GCT
43648.0 43648.0 35638.4  0.0   436992.0 92098.5   524288.0   274918.1  116992.0 111496.1 14080.0 12956.9     26    1.148   0      0.000    1.148
43648.0 43648.0 35638.4  0.0   436992.0 92281.4   524288.0   274918.1  116992.0 111496.1 14080.0 12956.9     26    1.148   0      0.000    1.148
43648.0 43648.0 35638.4  0.0   436992.0 92305.6   524288.0   274918.1  116992.0 111496.1 14080.0 12956.9     26    1.148   0      0.000    1.148

_C 总量 _U使用量 S0、S1 S区 E Eden 区 O Old 区 M Metaspace 区 CC 压缩类空间 YGC Young GC 次数 YGCT Young GC 时间 FGC Full GC 次数 FGCT Full GC 时间 GCT 总的GC 时间 查看JIT编译信息

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ jstat -compiler 20016
Compiled Failed Invalid   Time   FailedType FailedMethod
   21115     11       0     5.54          1 org/apache/http/client/utils/URLEncodedUtils parse
   
$ jstat -printcompilation 20016
Compiled  Size  Type Method
   21127      9    1 org/apache/coyote/AbstractProcessor _jr$ip$socketWrapper

编译的任务(把一个方法编译为本地方法) 参数docs

  • jmap
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ jmap -dump:format=b,file=heap.hprof 20016
Dumping heap to D:\arthas\heap.hprof ...
Heap dump file created

$ jmap -heap 20016
Attaching to process ID 20016, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.144-b01

using parallel threads in the new generation.
using thread-local object allocation.
Concurrent Mark-Sweep GC

Heap Configuration:
   MinHeapFreeRatio         = 40
   MaxHeapFreeRatio         = 70
   MaxHeapSize              = 1073741824 (1024.0MB)
   NewSize                  = 536870912 (512.0MB)
   MaxNewSize               = 536870912 (512.0MB)
   OldSize                  = 536870912 (512.0MB)
   NewRatio                 = 2
   SurvivorRatio            = 10
   MetaspaceSize            = 268435456 (256.0MB)
   CompressedClassSpaceSize = 1073741824 (1024.0MB)
   MaxMetaspaceSize         = 536870912 (512.0MB)
   G1HeapRegionSize         = 0 (0.0MB)

Heap Usage:
New Generation (Eden + 1 Survivor Space):
   capacity = 492175360 (469.375MB)
   used     = 314702936 (300.12410736083984MB)
   free     = 177472424 (169.25089263916016MB)
   63.94122127527879% used
Eden Space:
   capacity = 447479808 (426.75MB)
   used     = 279453176 (266.50731658935547MB)
   free     = 168026632 (160.24268341064453MB)
   62.450454971143635% used
From Space:
   capacity = 44695552 (42.625MB)
   used     = 35249760 (33.616790771484375MB)
   free     = 9445792 (9.008209228515625MB)
   78.8663713114003% used
To Space:
   capacity = 44695552 (42.625MB)
   used     = 0 (0.0MB)
   free     = 44695552 (42.625MB)
   0.0% used
concurrent mark-sweep generation:
   capacity = 536870912 (512.0MB)
   used     = 318668000 (303.9054870605469MB)
   free     = 218202912 (208.09451293945312MB)
   59.35654044151306% used

63573 interned Strings occupying 7445616 bytes.
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-01-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
jmap错误:unknown CollectedHeap type
Caused by: java.lang.RuntimeException: unknown CollectedHeap type : class sun.jvm.hotspot.gc_interface.CollectedHeap
陈灬大灬海
2019/09/24
3.1K0
jmap错误:unknown CollectedHeap type
JDK中自带的JVM分析工具
对于分布式架构中的文件服务来说,由于涉及大量的IO流操作,很容易引发JVM的相关异常,尤其是内存溢出的问题;
知了一笑
2022/11/30
5110
JDK中自带的JVM分析工具
JVM之常用监控工具
请注意,jstat命令提供了更多选项和功能,您可以使用jstat -options命令查看完整的选项列表和描述。
九转成圣
2024/04/10
1060
JVM之常用监控工具
jvm调优工具介绍
1.1 JPS (JVM Process Status Tool),查看当前机器上所有JVM进程的状态和启动参数
全栈程序员站长
2022/09/01
6320
java 调优概要
分为两类,一种是boolean类型,设置生效不生效,另一类是设置值。-XX:<name>=<value>
birdskyws
2019/02/25
7710
java 调优概要
JVM 分析工具概述
详情请参考:https://docs.oracle.com/javase/8/docs/technotes/tools/unix/jps.html
芋道源码
2018/12/24
6760
JVM 分析工具概述
面试官:怎么做JDK8的内存调优?
面试官:怎么做JDK8的内存调优? 看着面试官真诚的眼神,心中暗想看起来年纪轻轻却提出如此直击灵魂的问题。擦了擦额头上汗😓,我稍微调整了一下紧张的情绪😥,对面试官说: 在内存调优之前,需要先了解JDK8的内存区域是怎么划分的: JDK8内存结构 JDK8的内存结构主要包括程序计数器(Program Counter Register)、虚拟机栈(Java Virtual Machine Stacks)、本地方法栈(Native Method Stacks)、堆(Java Heap)、元空间(Metasp
万猫学社
2022/04/22
6860
面试官:怎么做JDK8的内存调优?
《深入理解Java虚拟机》(四)虚拟机性能监控与故障处理工具
虚拟机性能监控与故障处理工具 详解 4.1 概述 本文参考的是周志明的 《深入理解Java虚拟机》 第四章 ,为了整理思路,简单记录一下,方便后期查阅。 JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat、hprof等小巧的工具,本文希望能起抛砖引玉之用,让大家能开始对JVM性能调优的常用工具有所了解。 4.2 JDK的命令行工具 | 命令名称 | 全称 | 用途 | | — | — | — | | j
程序员鹏磊
2018/02/09
1.5K0
Java生产环境下性能监控与调优详解
-version就是查看当前机器的java是什么版本,是什么类型的JVM(Server/Client),采用的是什么执行模式。比如,在我的机器上的结果如下:
用户1212940
2022/04/13
4270
Java生产环境下性能监控与调优详解
面经手册 · 第26篇《JVM故障处理工具,使用总结》
其实最好的方式就是归纳、整理、实践、输出,一套组合拳下来,你就掌握了这个系列的知识了。
小傅哥
2021/01/18
1.2K0
面经手册 · 第26篇《JVM故障处理工具,使用总结》
一文搞定JVM相关的命令汇总,推荐收藏!
虽然目前市场上有很多成熟的 JVM 可视化监控分析工具,但是所有的工具其实都依赖于 JDK 的接口和底层相关的命令,了解这些命令的使用对于我们在紧急情况下排查 JVM 相关的线上故障,会有更加直观的帮助。
Java极客技术
2024/03/25
8200
一文搞定JVM相关的命令汇总,推荐收藏!
jvm调优
查看java程序运行的环境参数,包括Java System属性和JVM命令行参数.。
IT云清
2019/06/14
1K0
jvm调优
java(10)-JVM性能监控和优化
GC监控是为了鉴别JVM是否在高效地执行GC,以及是否有必要进行额外的性能调优。基于以上信息,我们可以修改应用程序或者调整GC算法(GC优化)。
黄规速
2022/04/14
1.3K0
java(10)-JVM性能监控和优化
JVM调优调的是什么?是寂寞吗?
gc永远会是Java程序员需要考虑的不稳定因素之一。对JVM内存的系统级的调优主要的目的是减少GC的频率和Full GC的次数。
疯狂的KK
2020/10/27
8080
JVM调优调的是什么?是寂寞吗?
使用 JDK 自带工具进行 JVM 诊断调优实战
最近参加面试多次被面试官问到JVM调 优方面的问题,即时自己面试前也重点复习了这一块的面试题,但是发现还是回答地不太好,浪费了好多次面试机会,真是让自己很抓狂。归根结底是自己以前一直只注重业务,而忽略了JVM调优这一块,对JVM这一块的实践太少了。这几天自己也重点观看了马士兵老师的JVM调优视频课, 看完之后自己也在本机和腾讯云服务器上进行了一番实践,感觉还是很有收获的。
用户3587585
2023/12/18
8720
使用 JDK 自带工具进行  JVM 诊断调优实战
JVM (Hot Sport 版)
JVM 是Java虚拟机。他它是实现Java代码,一处编写,处处运行的基础。也是Java二进制代码的运行环境
收心
2022/01/14
2880
JVM (Hot Sport 版)
Tomcat__05_JVM_排障工具
用来查看Java进程的具体状态, 包括进程ID,进程启动的路径及启动参数等等,与unix上的ps类似,只不过jps是用来显示java进程,可以把jps理解为ps的一个子集。 常用参数如下: -q:忽略输出的类名、Jar名以及传递给main方法的参数,只输出pid -m:输出传递给main方法的参数,如果是内嵌的JVM则输出为null -l:输出完全的包名,应用主类名,jar的完全路径名 -v:输出传给jvm的参数 注意: 使用jps 时的运行账户要和JVM 虚拟机启动的账户一致。若启动JVM虚拟机是运行的账户为www,那使用jps指令时,也要使用www 用户去指定。 sudo -u www jps
Cyylog
2020/08/19
5740
查看JVM参数信息 查看G1堆的使用情况
开发一个需求,内存中需要一些缓存对象,需要先预估下能装多少对象。。 查看JVM参数信息
MickyInvQ
2020/09/27
2.3K0
Java虚拟机内存设置和查看
在“Java运行时参数”字段中设置所需的内存参数。例如,如果你想要设置最小堆大小为256 MB,最大堆大小为512 MB,你可以输入-Xms256m -Xmx512m。
运维开发王义杰
2023/08/21
9670
Java虚拟机内存设置和查看
【错误记录】启动 Java 程序报错 ( Could not reserve enough space for 2097152KB object heap )
电脑上安装的 32 位的虚拟机 , 只能设置 1024MB 最大堆内存 , 建议安装 64 位的 JDK ;
韩曙亮
2024/04/20
1.5K0
【错误记录】启动 Java 程序报错 ( Could not reserve enough space for 2097152KB object heap )
相关推荐
jmap错误:unknown CollectedHeap type
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验