1. 程式人生 > >Java程序各種監控命令和排查方法

Java程序各種監控命令和排查方法

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查看原因。

6、線程阻塞:

Jvisualvm可以查看線程阻塞情況,打印thread dump

7、數據庫

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

Mysql:

Redis: 監控工具redis-stat

查看Redis的連接數,已使用的內存數,阻塞連接等等

./redis-cli -h 192.168.9.32 info | grep -e "connected_clients" -e "blocked_clients" -e

"used_memory_human" -e "used_memory_peak_human" -e "rejected_connections" -e "evicted_keys" -e "instantaneous" -e "mem_fragmentation_ratio" -e "used_memory" -e "used_memory_rss"

MongoDB:

Java程序各種監控命令和排查方法