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