之后写的对象就会用到虚拟机参数了,此刻这里汇个总本身平时用到的、看到的一些虚拟机参数。此刻看不懂不要紧,横竖之后城市用到的:
(1)-Xms20M
暗示配置堆容量的最小值为20M,必需以M为单元
(2)-Xmx20M
暗示配置堆容量的最大值为20M,必需以M为单元。将-Xmx和-Xms配置为一样可以制止堆自动扩展。大的项目-Xmx和-Xms一般都要配置到10G、20G甚至还要高
(3)-verbose:gc
暗示输出虚拟机中GC的具体环境
(4)-Xss128k
暗示可以配置虚拟机栈的巨细为128k
(5)-Xoss128k
暗示配置当处所法栈的巨细为128k。不外HotSpot并不区分虚拟机栈和当处所法栈,因此对付HotSpot来说这个参数是无效的
(6)-XX:PermSize=10M
暗示JVM初始分派的永久代的容量,必需以M为单元
(7)-XX:MaxPermSize=10M
暗示JVM答允分派的永久代的最大容量,必需以M为单元,大部门环境下这个参数默认为64M
(8)-Xnoclassgc
暗示封锁JVM对类的垃圾接纳
(9)-XX:+TraceClassLoading
暗示查察类的加载信息
(10)-XX:+TraceClassUnLoading
暗示查察类的卸载信息
(11)-XX:NewRatio=4
暗示配置年青代:暮年月的巨细比值为1:4,这意味着年青代占整个堆的1/5
(12)-XX:SurvivorRatio=8
暗示配置2个Survivor区:1个Eden区的巨细比值为2:8,这意味着Survivor区占整个年青代的1/5,这个参数默认为8
(13)-Xmn20M
暗示配置年青代的巨细为20M
(14)-XX:+HeapDumpOnOutOfMemoryError
暗示可以让虚拟机在呈现内存溢出异常时Dump出当前的堆内存转储快照
(15)-XX:+UseG1GC
暗示让JVM利用G1垃圾收集器
(16)-XX:+PrintGCDetails
暗示在节制台上打印出GC详细细节
(17)-XX:+PrintGC
暗示在节制台上打印出GC信息
(18)-XX:PretenureSizeThreshold=3145728
暗示工具大于3145728(3M)时直接进入暮年月分派,这里只能以字节作为单元
(19)-XX:MaxTenuringThreshold=1
暗示工具年数大于1,自动进入暮年月
(20)-XX:CompileThreshold=1000
暗示一个要领被挪用1000次之后,会被认为是热点代码,并触发即时编译
(21)-XX:+PrintHeapAtGC
暗示可以看到每次GC前后堆内存机关
(22)-XX:+PrintTLAB
暗示可以看到TLAB的利用环境
(23)-XX:+UseSpining
开启自旋锁
(24)-XX:PreBlockSpin
变动自旋锁的自旋次数,利用这个参数必需先开启自旋锁
怎么用MyEclipse配置虚拟机参数
右键类–>Run as–>Run Configurations…
昆山软件定制开拓 叫做机能调优师的地位" src="http://www.importnew.com/https:/images2015.cnblogs.com/blog/801753/201509/801753-20150922215854365-1645287112.png" />
Java Application内里选到本身的类,选择Arguments,昆山软件开发,VM arguments空缺部门就可以配置虚拟机参数了。假如点击了Run Configurations没有呈现本身的类的话也不要紧,劳务派遣管理系统,双击一下Java Application就好了
昆山软件定制开拓 叫做机能调优师的地位" src="http://www.importnew.com/https:/images2015.cnblogs.com/blog/801753/201509/801753-20150922220053569-1129454509.png" />
跋文
Java虚拟机参数有上百个,机能调优中很大一块就是选择这上百个参数中的某些重要参数举办配置,而且按照项目运行环境对参数举办不绝调解以求到达一本机能最佳点。机能调优说有捷径也有捷径,百度搜一份别人推荐的JVM参数配置改改就好了,那至于详细好欠好就说不上了,但起码担保能用吧;机能调优说没捷径也没捷径,假如对JVM的机能有严苛的要求而且但愿细化到每一个小点,到达能到达的最佳值,那首先就必需对付Java虚拟机,对付每一个虚拟机参数有着深刻的领略才行。最近几年鼓起了一个叫做机能调优师的地位,劳务派遣管理系统,也证明白机能优化的重要性,横竖从小我私家的角度看,机能调优绝对是一门学问,不是那么简朴的,打好基本才是王道。