JVM 调优实战--JVM的运行参数及jinfo查看运行参数信息
為什么要進(jìn)行JVM優(yōu)化?
本篇博文基于jdk1.8來(lái)講解。
JVM的參數(shù)
標(biāo)準(zhǔn)參數(shù)比較穩(wěn)定,基本上各個(gè)不同的jdk版本都會(huì)支持。
-X參數(shù)是非標(biāo)參數(shù),各個(gè)版本不同,可能用著用著就沒(méi)了。
-XX參數(shù)也屬于非標(biāo)參數(shù),用于JVM調(diào)優(yōu)和debug調(diào)試,使用率比較高。
標(biāo)準(zhǔn)參數(shù)
jvm的標(biāo)準(zhǔn)參數(shù),一般都是很穩(wěn)定的,在未來(lái)的jvm版本中不會(huì)改變。
可以通過(guò) java -help打印出來(lái)所有的標(biāo)準(zhǔn)參數(shù):
實(shí)戰(zhàn):查看jvm版本
實(shí)戰(zhàn):通過(guò)-D設(shè)置系統(tǒng)屬性參數(shù)
-server與-client參數(shù)
對(duì)于64位操作系統(tǒng),jvm默認(rèn)是server模式,手動(dòng)指定為client模式不會(huì)生效:
一般情況下,都是使用的server模式。
-X非標(biāo)參數(shù)
JVM的-X參數(shù)是非標(biāo)準(zhǔn)參數(shù),在不同版本的JVM中,參數(shù)可能會(huì)有所不同,可以通過(guò) java -X查看所有非標(biāo)準(zhǔn)參數(shù)
-Xint、-Xcomp、-Xmixed
-Xint是解釋模式,代碼會(huì)逐行執(zhí)行所有字節(jié)碼,會(huì)降低運(yùn)行速度,至少低10倍;(編譯快,運(yùn)行慢。)
-Xcomp是編譯模式,jvm在第一次使用時(shí)會(huì)將所有的字節(jié)碼編譯成本地代碼;(編譯慢,運(yùn)行快。)
-Xmixed是混合模式,也是jvm默認(rèn)也是推薦使用的模式。混合使用解釋和編譯模式,由jvm自己決定。
-XX非標(biāo)參數(shù)
-Xms和-Xmx參數(shù)
盡量將這兩個(gè)參數(shù)的值設(shè)置成一樣的,因?yàn)樵谶\(yùn)行過(guò)程中彈性擴(kuò)容或減小容量都會(huì)帶來(lái)性能損耗。
查看JVM的運(yùn)行參數(shù)
運(yùn)行java命令時(shí)打印出運(yùn)行參數(shù)
=表示是默認(rèn)值未曾修改;
:=表示值已經(jīng)被修改過(guò)。
查看正在運(yùn)行的JVM參數(shù)
查看java進(jìn)程的兩種方式:
①通過(guò)ps -ef|grep tomcat Linux命令來(lái)查看;
②通過(guò)jps命令查看所有java進(jìn)程。
5212是Tomcat進(jìn)程;
5246是jps本身的進(jìn)程ID。
通過(guò)jps -l命令可以查看完整的包名:
通過(guò) jinfo -flags 5212查看完整jvm參數(shù)信息:
可以通過(guò)字節(jié)轉(zhuǎn)換成兆M來(lái)查看MaxHeapSize最大堆內(nèi)存為466M:
查看某一個(gè)參數(shù)的值,使用如下命令:
?
總結(jié)
以上是生活随笔為你收集整理的JVM 调优实战--JVM的运行参数及jinfo查看运行参数信息的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: MySQL优化union查询
- 下一篇: JVM 的内存模型及jstat命令的使用