首页 > 代码库 > java应用出现问题查看步骤
java应用出现问题查看步骤
判断操作系统层面的问题,我通过以下命令查看,昨天都已经试过了,应该没有问题。
- netstat –an 看是否有大量time_wait或者close_wait,以进一步判断是否程序有没有关闭连接的情况(time_wait),或者操作系统关闭连接等待时间过长(close_wait);
- 如果发现netstat –an有大量的连接,且应用程序使用的是阻塞式IO,那么需要判断ulimit –n,看操作系统句柄数量是否足够;
- 使用top命令查看CPU和内存占用情况,通常我们的应用都是IO密集型的,所以CPU过高的情况较少,主要关注内存占用情况。
Mem: 3925908k total, 3787840k used, 138068k free, 12716k buffers
Swap: 4063224k total, 2030264k used, 2032960k free, 596756k cached
内存有问题的情况:
free + buffers + cached 综合比较小
或者swap free很少
4. 使用df –h关注一下磁盘空间,有些情况下是磁盘空间不足导致应用吞吐量下降;
5. 对于多线程的程序,可以通过vmstat 命令,查看cs项,来判断多线程切换的情况(由于目前应用都是使用dubbo构建服务,所以在现有压力下,这块出问题的可能性较小)。
6. 最后一招就是实用jdk自带的工具,有条件可以使用图形界面的jvisualvm,没有条件的可以使用jstack等工具。
java应用出现问题查看步骤
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。