java web问题定位

查找问题流程


1、查看当前服务的cpu 、内存、磁盘等使用情况,看看是不是使用率比较高
2、查看java web 进程分配内存情况
3、lsof -n查看系统文件句柄数,看看某个进程打开的是不是特别多
4、jmap -heap jpid 查看当前各个内存的分配和使用情况
如果old Generation 对应的比较大,占满了导致内存溢出,可以使用
jmap -histo jpid输出各个对象数量情况,看看有没有业务相关的类对象特别多

5、jstat -gcutil jpid <time> 查看gc 、fullgc次数和时间等情况,看看full gc是不是有异常。


--------------------------------------------------
如果有系统监控,可以看看tcp连接  负载等数据

如果有记录sql执行时间,看看这些数据,也要注意使用了连接池,由于等待连接所使用的时间是否包含在内

看看apache的访问日志,看看有没有访问特别多的客户端ip,看看访问量等情况

猜你喜欢

转载自dingjun1.iteye.com/blog/1775912