查看Java JVM參數配置信息命令
java -XX:+PrintCommandLineFlags
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的最大內存
jinfo -flag MaxHeapSize 3556
查看已經賦值過的參數信息
jinfo -flag MaxHeapSize 7208
查看垃圾回收器
jinfo -flag UseG1GC 7208
5. 非jvm命令 -- netstat
通過這個命令可以看到linux系統當前在各個端口的鏈接狀態,比如查看數據庫連接數等