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:

猜你喜欢

转载自blog.51cto.com/7539178/2122911