JDK自己是提供了一些監控工具,有一些是命令行,也有圖形界面。本次介紹命令行如何進行監控。
命令行是很是重要的,由於在咱們生產環境基本上是沒有圖形界面的,徹底是經過命令行。java
主要內容:git
那麼都有哪些JVM參數類型呢?一共分爲三大類github
1.-help
2.-server -client
3.-version -showversion
4.-cp -classpathweb
標準參數,在各個版本的JVM裏面中,基本保持不變。相對比較穩定
例如:java -help面試
也就是說在各個版本的JVM中可能會變,可是變化的也比較小。安全
1.-Xint:解釋執行
2.-Xcomp:第一次使用就編譯成本地代碼
3.-Xmixed:混合模式,JVM本身來決定是否編譯成本地代碼微信
舉例:網絡
可是咱們這塊X參數平時用的並很少,用的更多而是後面這塊XX參數。工具
這塊參數用的是很是多,相信許多同窗在網上會常常看到XX參數來設置JVM。咱們先來看下它都有什麼特色。
特色:spa
主要分爲兩大類
格式:-XX:[+-]<name>表示啓用或者禁用name屬性。其中+號表示啓用該參數,-號表示禁用該參數。
好比:
-XX:+UseConcMarkSweepGC
表示啓用了CMS垃圾收集器
-XX:+UseG1GC
表示啓用了G1垃圾收集器
格式:-XX:<name>=<value>表示name屬性的值是value,主要是以key,value形式存在。
好比:
-XX:MaxGCPauseMillis=500
表示GC最大的停頓時間是500ms。
-XX:GCTimeRatio=19
表示GCTimeRatio等於19。
以上先簡單瞭解一下分爲兩大類:Boolean 與 非Boolean類型。Boolean是帶有+-號,而非Boolean類型是key,value形式存在,中間用等號。
這兩個參數,相信許多小夥伴們都見過。這兩個參數分別是一個設置最大內存,一個設置最小內存。
1.-Xms等價於-XX:InitialHeapSize
2.-Xmx等價於-XX:MaxHeapSize
3.-Xss等價於-XX:ThreadStackSize
InitialHeapSize
初始堆的大小。MaxHeapSize
最大的堆大小。ThreadStackSize
線程堆棧大小
能夠先簡單查看下運行後的進程,最大的堆大小值。
查看一下線程的堆棧大小。
能夠看到這塊的線程堆棧大小有1024k,默認狀況不作修改的話,堆棧其中的一個線程就有1024k,這線程應該仍是比較大的。咱們在調優的時候仍是會把這個值調小一些。
此次就先介紹到這裏,下一章講介紹如何查看JVM運行時參數。
## 推薦
文章收錄至
Github: https://github.com/CoderMerlin/coder-programming
Gitee: https://gitee.com/573059382/coder-programming
歡迎關注並star~