JVM配置参数详解(目前不够完善)
最近看了有关虚拟机的书籍,发现有很多虚拟机配置参数不知道,特来记录一下,
-XX: MaxDirectMemorySize--->设置直接内存,不设置与Java堆内存最大值一致
-XX:PermSize(老年代大小)和-XX:MaxPermSize(永久代大小)--->设置方法区大小
-Xoss--->设置本地方法栈大小(实际无效,栈容量只由-Xss设定)
-XX:+HeapDumpOnOutOfMemoryError--->生成内存溢出快照(查看内存溢出快照的工具,安装JDK时,有自带了几种工具,具体怎么使用百度、谷歌)
-XX:+/-UseTLAB--->设置是否使用本地线程分配缓冲
-XX:-Xmx和-Xms--->设置堆内存(也是最常见的)
-XX:+UseLWPSynchronization(默认值)和-XX:+UseBoundThreads---->设置虚拟机使用线程模型
-XX:+UseSpinning--->设置是否启动自旋锁
-XX:PreBlockSpin--->设置自旋锁的次数
-XX:+UseBiasedLocking--->设置设置虚拟机启用偏向锁(JDK1.6的默认值)
-XX:+UseCompressedOops--->对象指正压缩功能(这个还待确认)
-XX:+TraceBytecodes和-XX:StopOmterpreterAt=<n>--->HotSpot虚拟机下设置断点调试
-verbose:class-以及-XX:+TraceClassLoading、-XX:+TreaceClassUnLoading--->查看类加载和卸载信息(HotSpot)//这个目前没弄明白 - =
-XX:UseConcMarkSweepGC--->默认新生代收集器
-XX:+UseParNewGC--->强制指定新生代收集器
-XX:ParallelGCThreads--->设置垃圾收集的线程数(ParNew收集器)
-XX:GCTimeRatio--->设置吞吐量大小[以整数为单位,默认99](ParallelScavenge收集器)
-XX:MaxGCPauseMillis--->设置最大垃圾收集器停顿时间[以毫秒为单位](ParallelScavenge收集器)
-XX:+UseAdaptiveSizePolicy--->是否开启自动指定新生代大小、Eden与Survivor区的比例(-XX:SurvivorRatio)、晋升老年代对象大小(-XX:PretenureSizeThreshold)等细节(ParallelScavenge收集器)
-XX:CMSInitiatingOccupancyFraction--->控制CMS收集器的预留空间
-XX:CMSFullGCsBeforeCompaction--->设置执行多少次不压缩后在进行一次压缩(针对于CMS算法所产生的空间碎片,这里的压缩是指对内存的空间碎片进行合并整理过程)
-XX:MaxGCPauseMillis--->设置GC最低的最大允许GC时间(单位毫秒)
-XX:SurvivorRatio--->设置新生代中Eden区与一个Survivor区的空间的比例
-XX:+PrintGCDetails--->打印GC信息
-XX:PretenureSizeThreshold--->设置大于该值的对象直接在老年代分配(不能像配置Java堆一样直接写多少M)
-XX:MaxTenuringThreshold--->设置对象晋升老年代的年龄阈值
-XX:HandlePromotionFailure--->设置空间分配担保
-XX:+PrintGCApplicationStoppedTime -XX:+printGCDateStamps -Xlogc:gclog.log--->在日志中打印GC停顿时间
-Dsun.awt.keepWorkingSetOnMinimize=true---->设置程序在恢复最小化时立即响应
-Xverify:none--->禁止对字节码校验过程(只针对限定大部分的验证)
-Xint--->禁止编译器运作
-XX:+PrintGCTimeStamps--->打印GC停顿时间
-XX:+PrintGCDetails--->打印GC详细信息
-verbose:gc--->打印GC信息,输出内容与-XX:+PrintGCDetails一样
-Xloggc:gc.log--->生成gc日志文件
-XX:+DisableExplicitGC--->屏蔽掉System.gc()
-XX:+UseConcMarkSweepGC、-XX:+UseParNewGC(配置虚拟机使用ParNew收集器[ParNew收集器是使用CMS收集器后的默认新生代收集器,配置上仅为了更加清晰])--->配置虚拟机使用CMS收集器
-XX:+TraceClassLoading-->设置观察到此操作会导致子类的加载
-XX:UseSplitVerifier-->关闭在虚拟机对StackMapTable的验证
-XX:+FailOverToOldVerifier-->设置在对字节码类型校验失败的时候退回到旧的类型推到方式进行校验
-Xbootvlasspath-->指定启动类加载器的路径
-Xcomp:强制虚拟机运行于“编译模式”(最新的Sun HotSpot已经去掉了Xcomp)
-Xint:强制虚拟机运行于“解释模式”
-version:输出虚拟机执行模式
-client:强制制定虚拟机运行在client模式
-server:强制虚拟机运行在server模式
-XX:CompileThreshold:设置虚拟机运行模式的调用计数阈值(基于计数器的热点探测,client默认阈值是1500,server默认的阈值是1000)
-XX:-UseCounterDecay:关闭热度衰减
-XX:CounterHalfLifeTime:设置热度衰减周期的时间
-XX:BackEdgeThreshold:设置虚拟机运行模式的调用计数阈值
-XX:OnStackReplacePercentage:间接调整回边计数器的阈值(目前的虚拟机实际上并未使用-XX:BackEdgeThreshold参数,默认值是933)
-XX:-BackgroundCompilation:禁止后台编译
-XX: +PrintCompliation:要求虚拟机在集市编译时将被编译成本地代码的方法名称打印出来
-XX: +PrintInlining:要求虚拟机输出方法内联信息
-XX: +PrintAssembly:要求虚拟机打印编译方法的汇编代码
-XX: +PrintOptoAssembly:输入比较接近最终结果的中间代码(用于Server VM )
-XX: +PrintLIR:输入比较接近最终结果的中间代码(用于Client VM )
-XX: +PrintCFGToFile:要求虚拟机将编译过程各个阶段的数据输出到文件中(Client Compiler)
-XX: +PrintIdealGraphFile:要求虚拟机将编译过程各个阶段的数据输出到文件中(Server Compiler)
-XX: +UnlockDiagnosticVMOptions:与-XX: +PrintAssembly一样,Product版虚拟机(需要打开虚拟机诊断模式)
-XX: +PrintIdealGraphLevel=2 -XX: +PrintIdealGraphFile=indeal.xml:编译后产生一个名为ideal.xml的文件,文件包含了Server Compiler编译代码的过程信息
-XX: +DoEscapeAnalysis:手动开启逃逸分析
-XX: +PrintEscapeAnalysis:打印逃逸分析结果
-XX: +EliminateAllocations:开启标量替换
-XX: +PrintEliminateAllocations:打印标量替换信息
-XX: +EliminateLocks:开启同步消除
目前只看到过这些,如有不足、不对的地方,还请各位大神指出和甩砖..谢谢~~
JVM配置参数详解(目前不够完善)的更多相关文章
- JVM配置参数详解
记录一下jvm中的一些配置参数,这些肯定不全的,希望你们能留个言,补全一下,谢谢啦! -XX: MaxDirectMemorySize--->设置直接内存,不设置与Java堆内存最大值一致 -X ...
- mha配置参数详解
mha配置参数详解: 参数名字 是否必须 参数作用域 默认值 示例 hostname Yes Local Only - hostname=mysql_server1, hostname=192.168 ...
- reids配置参数详解
转自:http://www.jb51.net/article/60627.htm reids配置参数详解 #daemonize no 默认情况下, redis 不是在后台运行的,如果需要在后台运行, ...
- nginx配置参数详解
配置参数详解 user nginx nginx ; Nginx用户及组:用户 组.window下不指定 worker_processes 8; 工作进程:数目.根据硬件调整,通常等于CPU数量或者2倍 ...
- Redis配置参数详解
Redis配置参数详解 /********************************* GENERAL *********************************/ // 是否作为守护进 ...
- MHA配置参数详解 【转】
mha配置参数详解: 参数名字 是否必须 参数作用域 默认值 示例 hostname Yes Local Only - hostname=mysql_server1, hostname=192.168 ...
- zookeeper的配置参数详解(zoo.cfg)
配置参数详解(主要是%ZOOKEEPER_HOME%/conf/zoo.cfg文件) 参数名 说明 clientPort 客户端连接server的端口,即对外服务端口,一般设置为2181吧. data ...
- HAproxy 配置参数详解
HAproxy 配置参数详解 /etc/haproxy/haproxy.cfg # 配置文件 ----------------------------------------------------- ...
- samba 配置参数详解
samba 配置参数详解: 一.全局配置参数 workgroup = WORKGROUP说明:设定 Samba Server 所要加入的工作组或者域. server string = Samba S ...
随机推荐
- MTK6577+Android之Camera驱动
MTK6577+Android之Camera驱动 <MTK安卓平台的Camera效果在线调试> 1. Camera拍照相关概念 1.1 ISP isp--(Image Signa ...
- Android主题切换—夜间/白天模式探究
现在市面上众多阅读类App都提供了两种主题:白天or夜间. 上述两幅图片,正是两款App的夜间模式效果,所以,依据这个功能,来看看切换主题到底是怎么实现的(当然现在github有好多PluginThe ...
- C++中的new/delete
不同于C语言中的malloc/free是库函数,C++语言中的new/delete是运算符,而不是库函数. new/delete执行流程 我们经常会接触到的是new/delete operator(就 ...
- 价值5000元的web报表分享
价值5000元的web报表分享 与一个朋友聊天,发现他最近做了一个很棒的报表,用他的话来讲,起码值5000RMB,我拿来与大家分享下,共同进步. 用朋友A的话,就是他最近接到公司财务部长大人的需求,需 ...
- unity C#更改系统默认鼠标指针
最近项目需要替换鼠标的默认图标,实现的效果是初始状态为一种图标,点击鼠标左键要换成另一种图标,按网上通用的方法做了以后,隐藏鼠标指针,在指针的位置画一个图片就可以了,但不知道怎么回事,这种方法画的图标 ...
- Android高通平台调试Camera驱动全纪录
项目比较紧,3周内把一个带有外置ISP,MIPI数据通信,800万像素的camera从无驱动到实现客户全部需求. 1日 搭平台,建环境,编译内核,烧写代码. 我是一直在Window下搭个虚拟机登服务器 ...
- 【Android 应用开发】对Android体系结构的理解--后续会补充
1.最底层_硬件 任何Android设备最底层的硬件包括 显示屏, wifi ,存储设备 等. Android最底层的硬件会根据需要进行裁剪,选择自己需要的硬件. 2.Linux内核层 该层主要对硬件 ...
- rails关于一个Action的多次或多个Action之间共享数据的思路
举一个实际的例子:一个考试页面,总共有20题,每页一题,通过页面下方的"前一题"和"后一题"的提交按钮来跳转题目.如果到最后一题则再产生一个"交卷&q ...
- Nginx常用模块安装命令
将目录切换至Nginx安装包目录下,使用./configure命令进行安装.一些第三方模块需要先下载过来,指定下解压后的目录即可. ./configure --prefix=/usr/local/ng ...
- SpringBoot2.0之二 新建RESTfull风格项目
1.新建一个Maven项目(具体方法可以参照 SpringBoot之一) 2.先建一个User类 package com.somta.springboot.pojo; public class Use ...