troubleshooting
文章平均质量分 92
manecocomph
这个作者很懒,什么都没留下…
展开
-
谁吃掉了 Java 异常的代码栈?
转自:https://mp.weixin.qq.com/s/GUFvhOtJMg4tAdMVDWI8bA原创有趣的bug代码中那些有趣的bug今天 通常情况下, 如果我们遇到某些异常, 都把出错异常栈打出来, 这样方便查看到底哪行代码出错了,是怎么一层层调用到了这行代码. 可是有时候,虽然我们明确写了打印出错异常栈, 可是偏偏日志里面却没有出错栈, 这是怎么一回事呢?故事背景 某天, 有开发人员找到 SRE 说, 他们的代码出了一个新的空指针错误...转载 2021-02-03 14:12:12 · 194 阅读 · 1 评论 -
JVM 的 “VM Thread“ 线程
最近在帮一个同事看一个 Java 应用为什么会被经常重启的时候, 定位到 Java 应用中一个线程经常以 CPU 使用率100%的方式出现在 htop 的头部, 它是什么线程, 为什么会导致一个 CPU 100%? 这引起了我的兴趣.相关背景及症状表现这个应用程序运行中一个有8个 CPU 的 VM 上面, 经常看到该应用程序已最低13%的使用率运行, 有时候CPU 使用率会突然升到100%, 不过大多数会以13%或稍高来运行. 从 htop 的结果可以看到, 主要一个是一个线程导致一个 CPU 10原创 2020-08-25 23:13:27 · 5469 阅读 · 0 评论 -
Java 无法 attach 到目标进程, 使用 core dump 转换为 Java heap dump
有时候, 当我们尝试对一个已经 GC overhead 非常高的 Java 应用进程去做 heap dump 的时候, 发现我们跟没办法 attach 到目标 Java 进程, 得到下面的错误:/usr/bin/jcmd 7674 GC.heap_dump /tmp/heap.log.hprof7674:com.sun.tools.attach.AttachNotSupportedException: Unable to open socket file: target process not r转载 2020-08-21 23:32:07 · 580 阅读 · 1 评论 -
诊断 Java 由 Synchronizer 和 AQS 混合组成的死锁
原文链接:http://www.tianxiaohui.com/index.php/SRE/%E8%AF%8A%E6%96%AD-Java-%E7%94%B1-Synchronizer-%E5%92%8C-AQS-%E6%B7%B7%E5%90%88%E7%BB%84%E6%88%90%E7%9A%84%E6%AD%BB%E9%94%81.html死锁问题在 SRE 的日常的应用诊断中, 经...原创 2020-03-07 20:30:41 · 223 阅读 · 0 评论 -
SRE重案调查组 第六集 | 剖析Java的非常规线程死锁问题
原文链接:https://mp.weixin.qq.com/s/r__X4sYj6PLjPDWDulJAAw供稿 | eBay Infrastructure Engineering翻译&编辑 | 顾欣怡本文共3609字,预计阅读时间11分钟更多干货请关注“eBay技术荟”公众号导读本文将分享eBay SRE部门遇到的某个非常规Java应用程序死锁问题。...转载 2019-11-16 14:29:48 · 185 阅读 · 0 评论 -
SRE重案调查组 第五集 | 为什么我的服务器又双叒不响应了?!
原文地址:https://mp.weixin.qq.com/s/-CTHVLxgzTn79vOqEe_CQQ供稿 | eBay Infrastructure Engineering翻译&编辑 | 顾欣怡本文共3892字,预计阅读时间12分钟更多干货请关注“eBay技术荟”公众号导读 在SRE的日常工作中,经常会碰到很多典型问题。其中一种便是:为什么我的...转载 2019-11-16 14:29:04 · 474 阅读 · 0 评论 -
SRE重案调查组 第四集 | JVM元数据区的内存泄漏之谜
原文链接:https://mp.weixin.qq.com/s/h8ayDuk7SSQ-0-jNmGmydw供稿 | eBay Infrastructure Engineering翻译&编辑 | 顾欣怡本文共2155字,预计阅读时间7分钟更多干货请关注“eBay技术荟”公众号导读从Java 8开始,元数据区(Metaspace)被引入,替换永久代...转载 2019-11-16 14:28:09 · 850 阅读 · 0 评论 -
SRE重案调查组 第三集 | 探秘HTTP异步请求的“潘多拉魔盒”
原文地址:https://mp.weixin.qq.com/s/kVA4vrrk-UbttChu2zhaFA供稿 | eBay Infrastructure Engineering翻译&编辑 | 顾欣怡本文共3365字,预计阅读时间11分钟更多干货请关注“eBay技术荟”公众号导读HttpAsyncClient是基于Httpcore NIO 和H...转载 2019-11-16 14:01:33 · 1059 阅读 · 0 评论 -
SRE重案调查组 第二集 | 挖掘应用处理变慢的“真相”
原文地址:https://mp.weixin.qq.com/s/Sh7ddc-3mGXWCGppi50EHg供稿 | eBay InfrastructureEngineering翻译&编辑 | 顾欣怡本文共1942字,预计阅读时间6分钟更多干货请关注“eBay技术荟”公众号导读eBay SRE部门经常处理生产环境中各种各样的疑难杂症,此次探究的是应用处...转载 2019-11-16 13:56:54 · 454 阅读 · 0 评论 -
高延迟问题的罪魁祸首System.gc()
原文地址:https://mp.weixin.qq.com/s/Ivtfu4bH5vVd0KiAOonoCA导读eBay SRE每天都处理生产环境中出现的各种各样的问题,有些问题很具有代表性,这次我们将分享与Java语言中System.gc()相关的两个典型案例,介绍如何分析这种问题,并且如何定位且修复这些问题。01案例一:某日,支付平台的开发人员找到SRE,需要SRE帮助...转载 2019-11-16 13:40:39 · 891 阅读 · 1 评论 -
诊断 puppet agent 导致的 CPU 使用率非常高的问题
问题描述:看到有一台机器表现很突出, CPU 使用率比其它高, 干活却没比其它机器多:搜集数据:登录机器, 查看各个进程 CPU 使用情况: 以 root 运行的 puppet 就是那个嫌疑犯top -i嫌疑犯近照:ps -auxwwww因为 strace 只针对一个线程, 如果一个进程里面有多个线程, 首先要查出是哪个线程使用 CPU 比较高, 否则可能出错.使用 top -...转载 2019-10-01 19:19:43 · 607 阅读 · 0 评论 -
使用 strace 解决 twagent 狂耗 CPU 问题
最近一段时间, 经常发现生产环境上有些服务器的 CPU 使用率比其它高很多. 检查下来, 都不是我们自己的应用程序导致的, 细分下来有两种, 一种是 puppet agent 导致的(诊断 puppet agent 导致的 CPU 使用率非常高的问题), 另外一种就是 twagent 导致的. 首先, 通过 top -i -H 可以看到这个进程十分耗 CPU 然后, 通过 ps a...转载 2019-10-01 19:18:28 · 228 阅读 · 0 评论 -
错误的 ExecutorService 用法导致的内存泄露
原文链接:http://www.tianxiaohui.com/index.php/interestingbug.htmlJDK 提供了 ExecutorService 接口以及默认的实现类, 并通过 Executors 工具类暴露了一些常见的用法. 如果使用不当, 将会很容易造成线上问题. 这里介绍一个曾经遇到的这样的问题.一开始看到了某个应用里面的一台机器开始 GC overhead...原创 2019-07-01 16:14:56 · 3935 阅读 · 0 评论 -
如何确诊由 HashMap 引起的 死循环问题
原文链接:http://www.tianxiaohui.com/index.php/interestingbug.htmlJava 开发者都知道 java.util.HashMap 是非线程安全的, 一旦涉及多线程情况使用同一个 Map, 除非做了其他同步, 否则都不应该使用 HashMap. 然而现实情况是: 时不时发现生产环境在多线程情况下使用了 HashMap, 导致死循环, 继而不再...原创 2019-06-26 11:28:55 · 342 阅读 · 0 评论