天天看點

Java程式各種監控指令和排查方法

1、監控程序GC情況:

jstat -gcutil pid 頻率

例如:jstat -gcutil 3807 2s

2、監控CUP和記憶體:

指令:top,vmstat,nmon

工具:Jvisualvm ,Jprofile,perfnom,Btrace,loadrunner

3、監控IO:iostat

iostat -d -x -k 1 10

4、監控網絡:ifstat,iftop,nethogs

監控總體帶寬使用――nload、bmon、slurm、bwm-ng、cbm、speedometer和netload

監控總體帶寬使用(批量式輸出)――vnstat、ifstat、dstat和collectl

每個套接字連接配接的帶寬使用――iftop、iptraf、tcptrack、pktstat、netwatch和trafshow

每個程序的帶寬使用――nethogs

5、記憶體洩漏:生成dump檔案,使用IBM分析器,MAT,Jprofile,Jvisualvm檢視原因。

生成dump指令:修改filename和pid

jmap -dump:format=b,file=fileName.hprof pid

6、線程阻塞:

Jvisualvm可以檢視線程阻塞情況,列印thread dump

7、資料庫

oracle: 列印AWR報告,分析具體原因。

Mysql:

Redis: 監控工具redis-stat