Java程序各种监控命令和排查方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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程序各种监控命令和排查方法的主要内容,如果未能解决你的问题,请参考以下文章

jviisualvm监控远程主机java程序实战与问题排查

Linux排查Java程序占用CPU很高的解决办法

常用的虚拟机监控检测工具

如何排查Java内存泄露

java线程池监控

Java虚拟机--垃圾回收机制