今天要说的是如何查看 JVM 中已经设置的参数,包括显示参数和隐式参数。 打印显式参数 -XX:+PrintVMOptions 该参数表示程序运行时,打印虚拟机接受到的命令行显式参数。...打印显式隐式参数 -XX:+PrintCommandLineFlags 该参数打印传递给虚拟机的显式和隐式参数。...打印所有系统参数 -XX:+PrintFlagsFinal 该参数会打印所有的系统参数的值。...我们用下面的命令运行程序: java -XX:+UseSerialGC -XX:+PrintFlagsFinal com.chenshuyi.ClassLoadDemo > jvm_flag_final.txt...之后打开 jvm_flag_final.txt 文件,可以看到有 800 多行,这是因为程序将虚拟机的所有参数都打印了出来。
查看jvm的运行参数 有些时候我们需要查看jvm的运行参数,这个需求可能会存在2种情况: 第一,运行java命令时打印出运行参数; 第二,查看正在运行的java进程的参数; 运行java命令时打印参数...查看正在运行的jvm参数 如果想要查看正在运行的jvm就需要借助于jinfo命令查看。 首先,启动一个tomcat用于测试,来观察下运行的jvm参数。...解压安装包,执行bin目录下的startup.bat(linux环境执行startup.sh) 访问成功: 通过jps 或者 jps ‐l 查看java进程 E:\jvm>jps -l 17664...developer\tomcat\apache-tomcat-7.0.70 -Djava.io.tmpdir=F:\developer\tomcat\apache-tomcat-7.0.70\temp 查看某一参数的值...,用法:jinfo ‐flag E:\jvm>jinfo -flag MaxHeapSize 23832 -XX:MaxHeapSize=4263510016 本文内容到此结束了
参数解释: -Xms: 初始堆大小 -Xmx: 最大堆大小 -Xmn: 年轻代大小 -XX:+PrintGCDetails 打印gc日志详情 -XX:SurvivorRatio=8 eden与survivor
InitialHeapSize := 62914560 表示已经改动过 bool UseG1GC = false 表示java -version这个指令并没有使用UseG1GC 2. jps 功能描述: jps是用于查看有权访问的...当未指定hostid时,默认查看本机jvm进程,否者查看指定的hostid机器上的jvm进程,此时hostid指机器必须开启jstatd服务。...jps可以列出jvm进程lvmid,主类类名,main函数参数, jvm参数,jar名称等信息。...Bootstrap代表tomcat 25687 代表jps命令本身 3.jinfo 查看运行中的java实例参数,如下设置的tomcat的最大内存 jinfo -flag MaxHeapSize 3556...下面通过jinfo -flag MaxHeapSize 7208 查看已经赋值过的参数信息 jinfo -flag UseG1GC 7208 查看垃圾回收器
jinfo 是 JDK 自带的命令,可以用来查看正在运行的 java 应用程序的扩展参数,包括Java System属性和JVM命令行参数;也可以动态的修改正在运行的 JVM 一些参数。...当系统崩溃时,jinfo可以从core文件里面知道崩溃的Java应用程序的配置信息 查看jvm所有参数默认值 > java -XX:+PrintFlagsInitial -version 查看jvm所有的参数...> java -XX:+PrintFlagsFinal -version 查看当前JVM运行的参数 用法: > jinfo -flags pid 查看系统所有的Java进程 > jcmd 24386...> jinfo -flag InitialHeapSize 18378 开启/关闭某个JVM参数 使用 jinfo 可以在不重启虚拟机的情况下,可以动态的修改 jvm 的参数。...进程的值 jinfo虽然可以在java程序运行时动态地修改虚拟机参数,但并不是所有的参数都支持动态修改jinfo -flag name=value pid 输出当前JVM进程所有的系统属性 > jinfo
本文涉及:gc、堆、栈、永久区、元数据区的常用参数 GC基本参数 打印gc简要信息:-XX:+PrintGC [GC (System.gc()) 198247K->197248K(261632K),
UseParallelGC:设置并行收集器 -XX:+UseParalledlOldGC:设置并行年老代收集器 -XX:+UseConcMarkSweepGC:设置并发收集器 4、垃圾回收统计信息(这个可以用于调试时候查看
pstack在linux上是一个非常有用的工具,可以查看进程内部调用函数的信息。可惜的是在ubuntu10.10版本中没有找到这个工具。无奈,只能下载尝试编译了。...27 /* RESTRICTIONS: 28 29 pstack currently works only on Linux, only on an x86 machine running 30 32
JVM参数配置 大致方向:JVM调优的目的是保证在一定吞吐量的情况下尽可能的减少GC次数,从而减少系统停顿时间,提高服务质量和效率。...默认物理内存的1/64 推荐:通常会将 -Xmx 与 -Xms两个参数配置成相同的值 public class Main { /** *堆内存大小配置 * -Xmx4000m...路径 -q : 只输出LVMID -m : 输出JVM启动时传递给main()的参数 -v : 输出JVM启动时显示指定的JVM参数 ?...jinfo:查看虚拟机各项参数 jps -l //获取LVMID //查看打印GC日志的参数 jinfo -flag PrintGCDetails 12368 -XX:-PrintGCDetails...-flag : 输出指定args参数的值 -flags : 不需要args参数,输出所有JVM参数的值 -sysprops : 输出系统属性,等同于System.getProperties() jstat
JVM启动参数共分为三类: 1、标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容。...2、非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后兼容。...java,然后查看java控制台日志,能看出很多问题。...每个参数的调整都需要经过详细的性能测试,才能找到特定应用的最佳配置。 ...具体操作上,32位Linux和64位Linux好像不一样,64位系统似乎只要配置MaxTenuringThreshold参数,CMS还是有暂停。
最近在看《深入理解Java虚拟机》一书,上面有好多例子都需要设置JVM的一些参数信息,再次记录下来,以后备用!!...//常见配置汇总 //堆设置 -Xms:初始堆大小 -Xmx:最大堆大小 -XX:NewSize=n:设置年轻代大小 -XX:NewRatio=n:设置年轻代和年老代的比值.如:为3,表示年轻代与年老代比值为
5.JVM栈(JVM Stacks),与程序计数器一样,Java虚拟机栈(Java Virtual Machine Stacks)也是线程私有的,它的生命周期与线程相同。...JVM参数配置 JVM启动模式 Client模式:启动速度较快,但运行时性能和内存管理效率不高 Server模式:启动比Client模式慢10%,但运行时性能和内存管理效率较高 在JVM...-Xms3550m:设置JVM促使内存为3550m。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。 -Xmn2g:设置年轻代大小为2G。...此值对系统性能影响较大,Sun官方推荐配置为整个堆的3/8。 -Xss128k:设置每个线程的堆栈大小。JDK5.0以后每个线程堆栈大小为1M,以前每个线程堆栈大小为256K。...tomcat设置JVM参数 在Windows下,在$TOMCAT_HOME/bin/catalina.bat,Linux下,在$TOMCAT_HOME/bin/catalina.sh的前面,增加如下设置
JVM参数分类 jvm 参数可分为三类: 标准参数:以 “-“ 开头的参数 非标准参数:以 “-X“ 开头的参数 不稳定参数:以”-XX“ 开头的参数 标准参数 标准参数是指在各个JVM版本中基本保持不变...查看所有标准参数: 打开一个命令终端,执行 java -help,就可以展示所有的JVM标准参数。 非标准参数 非标准参数表示不保证所有JVM实现都支持这些参数,在将来的JVM版本中可能会发生改变。...-Xmx20M HelloWorld tom jack 查看所有非标准参数: 打开一个命令终端,执行 java -X,就可以展示所有的JVM非标准参数。...第一列:参数类型 第二列:参数名称 第三列:”=“ 表示第四列是初始值,”:=“表示参数被用户或者JVM赋值了 第四列:参数值 第五列:参数类别 查看所有参数初始值: 执行参数-XX:+PrintFlagsInitial...JVM参数配置说明 调优栈内存 堆大小典型配置参数 -Xmx:设置最大堆大小。 -Xmx3550m,设置JVM最大可用内存为3550 MB。 -Xms:设置JVM初始内存。
一、题目相关参数 1.1 三个重要参数 -Xms 为 jvm 启动时分配 Heap初始内存(最小内存),比如 -Xms200m,表示分配200M -Xmx 为 jvm 运行过程中分配 Heap最大内存,...如果添加了 -Xmx 参数,将以这个参数后面的值为准,例如 java-cp you_classpath-Xmx512myour_class,那么最大内存就是 51210241024 字节。...JDK5.0 以后,JVM会根据当前系统配置 吞吐量优先 的并行收集器 如上文所述,并行收集器主要以到达一定的吞吐量为目标,适用于科学技术和后台处理等。...此配置仅对年轻代有效。即上述配置下,年轻代使用并发收集,而年老代仍旧使用串行收集。-XX:ParallelGCThreads=20 # 配置并行收集器的线程数,即:同时多少个线程一起进行垃圾回收。...JDK5.0以上,JVM会根据系统配置自行设置,所以无需再设置此值。
这里向大家描述一下如何使用Tomcat配置JVM参数,Tomcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个java虚拟机。...Tomcat配置JVM参数 Tomcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个java虚拟机。...如下表所示有两个参数用来设置虚拟机使用内存的大小。 参数 描述 -Xms JVM初始化堆的大小 -Xmx JVM堆的最大值 这两个值的大小一般根据需要进行设置。...1:建议用64位操作系统,Linux下64位的jdk比32位jdk要慢一些,但是吃得内存更多,吞吐量更大。...4:系统停顿的时候可能是GC的问题也可能是程序的问题,多用jmap和jstack查看,或者killall-3java,然后查看java控制台日 志,能看出很多问题。
JVM配置说明&查看和修改 image.png JVM的各种配置值 JVM参数类型 标配参数 x参数(了解) xx参数 JVM标准参数(再jdk各个版本很稳定,基本不变) version help showversion...标准参数 X参数 Xint —解释执行 Xcomp —第一次使用就编译成本地代码 Xmixed—混合模式(先编译后执行) X参数 XX参数 (其查看方法主要利用 jps和jinfo) Boolean...类型:开启关闭(无具体值) Kv设值类型:需要设置具体参数值 Boolean类型JVM的XX参数修改和查看 Boolean类型JVM参数查看 Boolean类型JVM参数修改 kv设置类型的查看和设置...也可以用jinfo -falgs -线程 查看到在该线程上JVM默认的配置和自己增加的配置 eg: 有人疑问为什么会有下面两个经典参数这样看起来什么类型配置也不像的配置 -Xms1024m-Xmx1024m...其实由于它们比较常用,这里类似于别名 ,他们其实是XX配置 -Xms 等价于-xx:InitialHeapSize -Xmx等价于-XX:MaxHeapSize
JVM常用参数 关于-XX:+printGCDetails 作用:输出详细GC收集日志信息(当配置了-XX:+printGCDetails,控制台就会打印GC收集信息) GC: 详细...SurvivorRatio=4 一>Eden:S0:S1 =4:1:1 survivorRatio值就是设置eden区的比例占多少,s0/s1相同 -XX:SurivorRatio -XX NewRatio 配置年轻代与老年代在堆结构的占比
1、JVM参数配置 我们学习Java GC机制的目的是为了实用,也就是为了在JVM出现问题时分析原因并解决之,JVM监控与调优主要的着眼点在于如何配置、如何监控、如何优化3点上。...在Java虚拟机的参数中,有3种表示方法 标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容; 非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,...3、非标准参数 非标准参数,是在标准参数的基础上进行扩展的参数,输入“java -X”命令,能够获得当前JVM支持的所有非标准参数列表(你会发现,其实并不多哦)。...4、非Stable参数(非静态参数) 以-XX表示的非Stable参数, JVM(Hotspot)中主要的参数可以大致分为3类 性能参数(Performance Options):用于JVM的性能调优和内存分配控制...jvm参数,用于显示jvm更加详细的信息; 对于非Stable参数,使用方法有4种: -XX:+ 启用选项 -XX:- 不启用选项 -XX:=<number
JVM 中最重要的一部分就是堆空间了,基本上大多数的线上 JVM 问题都是因为堆空间造成的 OutOfMemoryError。因此掌握 JVM 关于堆空间的参数配置对于排查线上问题非常重要。...tips:本文所有配置,如无特别说明,均基于JDK1.8。 堆配置 我们使用 -Xms 设置堆的初始空间大小,使用 -Xmx 设置堆的最大空间大小。...JVM 提供了参数 -Xmn 来设置年轻代内存的大小,但没有提供参数设置老年代的大小。但其实老年代的大小就等于堆大小减去年轻代大小。...我们可以给上述命令加上-XX:+PrintGCDetails 参数来查看内存区域的分配信息。 ? 如上图所示,我们可以看到老年代的大小为 10M。...直接内存 在 JVM 中还有一块内存,它独立于 JVM 的堆内存,它就是:直接内存。我们可以使用 -XX:MaxDirectMemorySize 设置最大直接内存。
查看JVM参数信息 jinfo -flags [pid] Attaching to process ID 26841, please wait......JVM version is 25.45-b02 Non-default VM flags: -XX:CICompilerCount=15 -XX:ConcGCThreads=7 -XX:+DisableExplicitGC...Dpinpoint.applicationName=application-test -Dpinpoint.profiler.collector.ip=local -Dpinpoint.profiler.sampling.rate=200 查看...JVM version is 25.45-b02 using thread-local object allocation.
领取专属 10元无门槛券
手把手带您无忧上云