今天要说的是如何查看 JVM 中已经设置的参数,包括显示参数和隐式参数。 打印显式参数 -XX:+PrintVMOptions 该参数表示程序运行时,打印虚拟机接受到的命令行显式参数。...打印显式隐式参数 -XX:+PrintCommandLineFlags 该参数打印传递给虚拟机的显式和隐式参数。...打印所有系统参数 -XX:+PrintFlagsFinal 该参数会打印所有的系统参数的值。...我们用下面的命令运行程序: java -XX:+UseSerialGC -XX:+PrintFlagsFinal com.chenshuyi.ClassLoadDemo > jvm_flag_final.txt...之后打开 jvm_flag_final.txt 文件,可以看到有 800 多行,这是因为程序将虚拟机的所有参数都打印了出来。
今天忙活了半天,在Linux平台下,总算可以获取到一些性能指标了,结果,Linux上面的数据发送到Windows上面会出现发送为空的现象,可能是Socket套接字存在问题,不搞了。...sscanf(buff, "%s %u %u %u %u", o->name, &o->user, &o->nice, &o->system, &o->idle); fclose(fd); } // 获取...cpu_info ptr; CPU_OCCUPY ocpu, ncpu; char buffer[1024] = {0}; char ref_buffer[4096] = {0}; // 获取...sleep(1); get_occupy(&ncpu); cal_occupy(&ocpu, &ncpu); sprintf(ptr.Used,"%.2f",g_cpu_used); // 获取系统负载...------------- typedef struct { char Total[32]; char Free[32]; char Available[32]; }mem_info; // 获取内存利用率
-Xms128m:JVM初始分配的堆内存 -Xmx512m:JVM最大允许分配的堆内存,按需分配 -XX:PermSize=64M:JVM初始分配的非堆内存 -XX:MaxPermSize=128M:JVM...最大允许分配的非堆内存,按需分配 -XX:+HeapDumpOnOutOfMemoryError:参数表示当JVM发生OOM时,自动生成DUMP文件 -XX:+PrintGCDateStamps:输出GC
参数解释: -Xms: 初始堆大小 -Xmx: 最大堆大小 -Xmn: 年轻代大小 -XX:+PrintGCDetails 打印gc日志详情 -XX:SurvivorRatio=8 eden与survivor
**jvm参数优化** * 最近碰到了公司项目发布设置参数较小导致项目启动失败(又背了一个锅) JAVA_OPTS="-Dproject.name=${key} -Djava.security.egd
JVM的参数类型 1. 标准参数 * -help * -server , -client * -version . -showversion * -cp , -classpath 2....X参数 * 非标准化参数(在各个JDK版本中可能会变,但是变动比较小) * -Xint : 解释执行 -Xcomp : 编译执行 第一次使用就编译成本地代码 -Xmixed :混合模式,...JVM自己来决定是否编译成本地代码 3....XX参数 非标转化参数 相对不稳定 主要用于JVM调优和Debug 参数分类 Boolean类型 格式:-XX:[+-] 表示启用或者禁用name属性。...不是X参数,而是XX参数 2. -Xms 等价于 -XX:InitialHeapSize 初始化的堆大小 3.
# 打印加载日志 -Xlog:class+load=info 等同-verbose:class # 打印所有jvm参数 -XX:+PrintFlagsFinal # 最大堆空间 -Xmx #...最小堆空间 -Xms 资料 JVM 参数设置 Is there a way to get which classes a ClassLoader has loaded?
Jvm创建对象之内存分配-JVM(七) 一、大对象直接进入老年代 大对象指需要连续空间存储的对象(字符串,数组)。...正常是eden放不下进入老年代,但是我们也可以用参数配置,当大于这个参数直接进入老年代。...记得参数后面还有加个打印gc的参数-XX:PrintGCDetails 当我们设置了这个参数之后,则看到一个7M的数据明明可以放在eden,但是直接进入了老年代,前面的百分之14并不是我们代码的7M对象...可以通过参数配置年龄代-XX:MaxTenuringThreshold 三、对象动态年龄判断机制 我们有一个对象在eden,当yangGC后,状态还是活跃状态,则会进入survivor,但也会有一种情况直接进入老年代...所以我们设置jvm参数是要根据实际情况来设置的,那么这种怎么设置呢?
拓展: 第一步,定义LCD参数结构体: struct fb_fix_screeninfo finfo; // 显卡设备的固定属性结构体 struct fb_var_screeninfo vinfo;...// 显卡设备的可变属性结构体 第二步,获取属性信息: ioctl(lcd, FBIOGET_FSCREENINFO, &finfo); // 获取固定属性 ioctl(lcd, FBIOGET_VSCREENINFO..., &vinfo); // 获取可变属性
---- Pre 有的时候,想看下自己没有设置的JVM参数的值, 或者有的时候想看下JVM某个参数的默认值 ,亦或想看下用户或者JVM修改的JVM参数 ? 咋办 ?...JVM在1.6.0_14以后提供了几个参数可以打印出来所有XX参数和对应的值 -XX:+PrintFlagsInitial 表示打印出所有参数选项的默认值 -XX:+PrintFlagsFinal...列出JVM参数的默认值 Java诞生了25年+, N多个参数 ,鬼记得住~ 我们只需要直到常用的,会找就可以了。...第一列表示参数的数据类型 第二列是名称 第三列”=”表示第四列是参数的默认值,如果是”:=” 表明了参数被用户或者JVM赋值了 第四列为值 第五列是参数的类别 ---- -XX:+PrintFlagsFinal...line.separator = java.io.tmpdir = /tmp java.vm.specification.vendor = Oracle Corporation os.name = Linux
Pre JVM-08垃圾收集Garbage Collection【GC常用参数】 ? ---- JDK版本 = 1.8 ---- 核心参数 ?...---- 线程栈 默认1M , 不足的话 StackOverflowError -Xss设置越小 ,说明一个线程栈里能分配的栈帧就越少,但是对JVM整体来说能开启的线程数会更多 ,当然了,线程多了并不一定性能就高...对于64位JVM来说,元空间的默认初始大小是21MB,若不足,GC后自动扩容,无上限,取决于操作系统的内存大小。...---- 【经验之谈】 一般建议在JVM参数中将MetaspaceSize和MaxMetaspaceSize设置成一样的值 ,8G物理内存的机器来说,可以将这两个参数设置为256M 如果应用启动比较慢,...可以看下是不是因为方法区的JVM参数没有设置(默认值21 ,频繁GC,自动扩容)导致的。
本次主要内容: 如何查看参数标准参数-X参数-XX参数Boolean类型非Boolean类型其他参数如何设置参数单位换算JVM常见参数和含义 如何查看参数 java -XX:+PrintFlagsFinal...想要的JVM参数在这里都能找到。 标准参数 -version :输出java的版本信息,比如jdk版本、vendor、model。 -help :输出java标准参数列表及其描述。...-X参数 -X***的属于非标准参数,意思就是在不同JDK版本汇总可能会变动。 -Xint 解释执行 -Xcomp 第一次使用就编译成本地代码 -Xmixed 混合模式,JVM自己来决定 ?...-XX参数 非标准化参数,相对不稳定,主要用于JVM调优和Debug,使用频率最高的参数。...换算104857600(Byte)/1024=102400(KB)102400(KB)/1024=100(MB)所以104857600是字节单位 JVM常见参数和含义 ? ?
打开命令提示符(Windows)或终端(macOS和Linux)。...这些JVM参数将使您的Java应用程序使用指定的代理服务器进行网络连接
并且可以生成线程快照(一般称为 threaddump 或 javacore 文件) jinfo JVM 信息查看工具。用于实时查看和调整 JVM 进程参数。 jcmd JVM 命令行调试 工具。...如果CMS GC时间很长,并且明显受新生代存活对象数量影响时打开,但会导致每次CMS GC与一次YGC连在一起执行,加大了事实上JVM停顿的时间 其他优化参数 -XX:+AlwaysPreTouch:...-XX:+AlwaysPreTouch参数能够达到的效果就是,在服务启动的时候真实的分配物理内存给JVM,而不再是虚拟内存,效果是可以加快代码运行效率,缺点也是有的,毕竟把分配物理内存的事提前放到JVM...当锁对象第一次被线程获取的时候,虚拟机将会把对象头中的标志位设置为“01”、把偏向模式设置为“1”,标识进入偏向模式。...(离线环境压测可以打开这两个参数) 参考资料 JVM对外内存完全解读
在jvm中有很多的参数可以进行设置,这样可以让jvm在各种环境中都能够高效的运行。绝大部分的参数保持默认即可。...标准参数 jvm的标准参数,一般都是很稳定的,在未来的JVM版本中不会改变,可以使用 java -help 检索出所有的标准参数。...-X参数 jvm的 -X 参数是非标准参数,在不同版本的jvm中,参数可能会有所不同,可以通过 java -X 查看非标准参数。...XX参数也是非标准参数,主要用于jvm的调优和debug操作。...查看正在运行的jvm参数 如果想要查看正在运行的jvm就需要借助于 jinfo 命令查看。 启动一个 tomcat 用于测试,用以观察运行的 jvm 参数。 cd bin/ .
CMS收集器 CMS(Concurrent Mark Sweep)收集器是一种以获取最短回收停顿时间为目标的收集器。...参数 HotSpot JVM 提供了三类参数。...然而,在实际情况中X参数和XX参数并没有什么不同。X参数的功能是十分稳定的,然而很多XX参数仍在实验当中(主要是JVM的开发者用于debugging和调优JVM自身的实现)。...第一列表示参数的数据类型,第二列是名称,第四列为值,第五列是参数的类别。第三列”=”表示第四列是参数的默认值,而”:=” 表明了参数被用户或者JVM赋值了。...-XX:+PrintCommandLineFlags 这个参数让JVM打印出那些已经被用户或者JVM设置过的详细的XX参数的名称和值。
Java HotSpot VM中-XX:的可配置参数列表进行描述;这些参数可以被松散的聚合成三类: 行为参数(Behavioral Options):用于改变jvm的一些基础行为; 性能调优(Performance...Tuning):用于jvm的性能调优; 调试参数(Debugging Options):一般用于打开跟踪、打印、输出等jvm参数,用于显示jvm更加详细的信息; 行为参数: 参数及其默认值 描述 -...XX:-DisableExplicitGC 禁止调用System.gc();但jvm的gc仍然有效 -XX:+MaxFDLimit 最大化文件描述符的数量限制 -XX:+ScavengeBeforeFullGC...新生代GC优先于Full GC执行 -XX:+UseGCOverheadLimit 在抛出OOM之前限制jvm耗费在GC上的时间比例 -XX:-UseConcMarkSweepGC 对老生代采用并发标记交换算法进行...: 参数及其默认值 描述 -XX:-CITime 打印消耗在JIT编译的时间 -XX:ErrorFile=.
这一篇说一下JVM 参数相关,首先JVM参数中包含着么几类 标准参数(Standard)、非标准参数(Non-Standard)、高级运行时选项、JIT相关编译高级选项、适用性高级选项、GC相关高级参数...、不建议使用的参数(可能会被弃用) 后续会对每个系列的参数还有使用技巧进行详细的剖析,这一篇仅仅是个引导。...懂原理,才能更好的使用嘛~ 其中 标准参数:开头直接为参数名、 非标准参数: -X 开头 高级选项:-XX:开头 后跟+为开启,-为关闭 下面是具体的参数: 大家可以对应这个参数列表对应自己看着感兴趣的看看使用...非标准参数(Non-Standard): -X -XBatch -Xbootclasspath:path -Xbootclasspath/a:path -Xbootclasspath/p:path...properties、vm) -Xsssize -Xusealtsigs -Xverify:(mode、remote、all、none) 这一块儿会首先说明,因为我们日常用的频次高的大部分是这一片参数
本文涉及:gc、堆、栈、永久区、元数据区的常用参数 GC基本参数 打印gc简要信息:-XX:+PrintGC [GC (System.gc()) 198247K->197248K(261632K),...堆最大值: -Xmx20m 堆的最小值: -Xms5m 获取系统堆内存信息 System.out.println("堆最大空间:" + Runtime.getRuntime().maxMemory(
领取专属 10元无门槛券
手把手带您无忧上云