java -XX:+PrintCommandLineFlagsjava
jvm運行時狀態的參數,能夠很快找出問題所在。如今把幾個命令記錄一下:
1. jstat
這個命令對於查看Jvm的堆棧信息頗有用。可以查看eden,survivor,old,perm等heap的capacity,utility信息
對於查看系統是否是有能存泄漏以及參數設置是否合理有不錯的意義
2. jstack
這個是用來查看jvm當前的thread dump的。能夠看到當前Jvm裏面的線程情況。這個對於查找blocked線程比較有意義
3. jmap
這個是用來查看jvm當前的heap dump的。能夠看出當前jvm中各類對象的數量,所佔空間等。能夠處處一份binary heap dump的bin文件,這個文件可以直接用Eclipse Memory Anayliser來分析,並找出潛在的內存泄漏的地方。
4. jinfo
查看運行中的java實例參數,以下設置的tomcat的最大內存linux
jinfo -flag MaxHeapSize 3556 數據庫
查看已經賦值過的參數信息tomcat
jinfo -flag MaxHeapSize 7208 jvm
查看垃圾回收器spa
jinfo -flag UseG1GC 7208線程
5. 非jvm命令 -- netstat
經過這個命令能夠看到linux系統當前在各個端口的連接狀態,好比查看數據庫鏈接數等對象