Java程序各種監控命令和排查方法
阿新 • • 發佈:2018-06-01
Java 排查 1、監控進程GC情況:
"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"
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
MongoDB:
Java程序各種監控命令和排查方法