Java问题排查(运维篇)

每一位开发想必都会遇到线上服务告警,而导致这样原因的肯能有流量增加或是代码中bug异常没有抓住导致,而此刻我们就需要去排查问题。

1:业务增加,导致FGC频繁发送,如果不知道如何查看FGC的话,可以参考之前写的:Jstat查看MinorGC和FGC使用详解,点击即可。这里不做重新复述。当发现FGC的次数频繁很高,这里说明了需要优化JVM来减少FGC的次数;而这种问题不是个人原因导致的线上问题,所有一带而过。

2:个人代码导致的服务告警,如何排查:

第一步:我想普遍都是先使用Top来查看CPU的使用率:

第二步:找出cup使用最高的pid 也就是第一列,然后jstack pid |fgrep pid(这里需要转16进制 printf  “%x\n”)

这里解释一下jstack的结果:

关于线程状态需要关注的有;

死锁 Deadlock ;等待资源,Waiting

on condition;等待获取监视器,Waiting

on monitor entry;阻塞,Blocked(重点关注)

如果是Blocked就是等待资源超时,这里由于没有现场的截图,只能描述一下,就是state

状态中是:java.lang.Thread.State:BLOCKED

(on object monitor)

如果是Runnable的话:一般指该线程正在执行状态中,该线程占用了资源,正在处理某个请求,有可能正在传递SQL到数据库执行,有可能在对某个文件操作,有可能进行数据类型等转换。

如果是Wating

on condition;

当你的堆栈信息出现这样的话你就可以基本发现是出现了死锁,还是阻塞,从而定位到代码中

版权声明:本文为博主原创文章,未经博主允许不得转载。

java安装不上有关故障排除,Java有关问题排查(运维篇)相关推荐

  1. 用“逐步排除”的方法定位Java服务线上“系统性”故障

    说明:原文地址已经不可访问,其他地方有转载,不过很多丢失图片,所以,找到一处有图的重新配好图. 用"逐步排除"的方法定位Java服务线上"系统性"故障 Post ...

  2. java安装_我最喜欢的Java高级开发人员书籍

    java安装 我上一篇博客文章(我对高级Java开发人员的十个最喜欢的在线资源)的想法,是由Xiaoran Wang发表的 "面向高级Java开发人员的十大网站"的启发. Wang ...

  3. centos7 如何安装部署k8s_架构运维篇(五):Centos7/Linux中安装部署RocketMQ

    上一篇 架构运维篇(四):Centos7/Linux中Tomcat安装SSL证书实践 这一篇讲一下在Centos7/Linux安装RocketMQ,MQ的具体应用场景和使用就不再啰嗦了.我在没有使用过 ...

  4. java 死锁 解决_Java死锁故障排除和解决

    java 死锁 解决 JavaOne年度会议的一大优点是主题专家介绍了几个技术和故障排除实验室. 这些实验室之一尤其引起了我的关注:Java冠军Heinz Kabutz提出的" HOL650 ...

  5. 手机java安装_花样繁多 MOTO手机JAVA程序安装详细步骤

    使用MOTO手机的朋友可能都知道,JAVA程序是很普遍安装的软件,但是有些朋友可能知道1~2种方法,其实安装的方法有很多.我们摩托罗拉手机论坛的网友夜飞鸟,就将MOTO手机上JAVA程序的多种安装方法 ...

  6. Linux学习笔记2(root密码忘记重置,Linux系统更新yum源,YUM安装卸载,常见故障排除,vim,用户/组)

    目录 Linux忘记root密码 CentOS     Kali 更新软件源 CentOS 更新yum源(阿里源配置方法) Kali 更新apt源 ​yum安装,卸载 Yum 简介 常用的 Yum 命 ...

  7. 三星java安装_三星S3930C 电脑下载java后直接安装方法总结

    综合各位前辈的经验,总结三星S3930C 电脑下载java后直接安装方法: 1.S3930C的java兼容性不错,部分java需要改键值.程序可以从各大手机网站下载,乐讯上S3930C的java比较集 ...

  8. java获取ajax上传的文件,Java使用Ajax异步上传文件

    相关代码示例: html代码片段: 名称 class="layui-input"> 描述 文件 请选择配置文件 立即提交 重置 js代码片段: //上传配置文件 $(&quo ...

  9. 使用DSX-5000 对已安装的电缆进行故障排除

    周一上的早上,福禄克指定经销商-明辰智航接到用户的反馈:我想我的DSX5000测试仪坏了!",虽然他表面是非常坚固的机器,但看起来他的测试结果是错误的时候. "是什么让你认为它坏了 ...

最新文章

  1. C++之指向对象成员函数的指针
  2. iOS传值之代理传值
  3. SpringMVC日期类型转换问题三大处理方法归纳
  4. art-template入门(三)之语法
  5. 按不同vlan下发dhcp_Cisco三层交换上给不同Vlan配置不同的DHCP
  6. mybatis的xml文件 比较详细的学习注意点
  7. android 10 apk 存储适配,AndroidQ(10) 分区存储适配方法
  8. 细说BLUETOOTH 5 【4X 远距离】
  9. 数据挖掘:实用案例分析
  10. U盘故障恢复--“文件或目录损坏且无法读取”
  11. i5 13600KF参数 酷睿i53600KF什么水平i5 13600KF核显相当于什么显卡
  12. 单键带定时雾化补水仪-DLT8P65SA
  13. suse日志服务器配置
  14. VMware 虚机启动失败问题
  15. 计算机器人正反运动学方程,机器人运动学方程
  16. Windows 上帝模式「完全控制面板」的介绍和使用
  17. LY-100系列的纬编机纱长监控器
  18. 如何制作全息视频--3D max+AE搞定
  19. 笔记本网络里没有计算机图标,Windows 7没有本地连接图标如何解决?
  20. SQL 根据一个字段的一部分分组查询

热门文章

  1. 国际期货资产管理|期货仓单|期货分仓软件|期货仓单资管软件
  2. 澳门理工大学博士申请
  3. 华为服务器RH2288H V2连接 华为存储S2600T
  4. Django——mako的配置与使用方法
  5. ROS下用gmapping 构建实验室地图的实现
  6. seq2seq基础理解 什么是 seq2seq?
  7. Python之POC编写
  8. 锁定计算机耗电吗,电脑24小时开着需要多少度电(电脑24小时耗电量及计算方式)...
  9. beyond compare 软件
  10. uni-app request POST 请求方式不加 header头会默认为 OPTIONS