首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏数据小冰

    死锁问题排查

    既然已知道异常服务,那可以从这里入手进行分析,又与同事沟通一番,确定了与该服务相关的一些后台模块,接下来重点排查这些模块。 下面是出现问题的参考日志,关键点已包含其中,因为原日志不方便展示。 排查方法 日志中出现了sync. 问题本质 上面问题的根因是死锁导致的,死锁也是计算机中常见出现的问题。 可以通过破坏死锁产生的4个必要条件来预防死锁,打破其中之一就可以避免死锁产生。那挑选比较容易的进行破坏,由于资源互斥是资源使用时的固有特性无法改变,所以破坏互斥条件这条直接放弃。 往往改动代码引发的死锁问题比较容易出现,像本文中出现的问题就是代码改动导致的,添加功能需求的时候关注点集中在了业务逻辑上,容易忽视锁的问题

    1.6K10编辑于 2022-08-15
  • 来自专栏后端码事

    线上问题排查

    4、线程pid转化为进制 printf '0x%x' 线程pid ? 5、查看线程堆栈 jstack 进程pid | grep 转化后的线程pid ? 6、io情况查看: vmstat: ?

    92110发布于 2020-09-10
  • 来自专栏dcmickey小站

    排查Maven问题

    排查Maven问题 mvn dependency:tree 三大技巧 第一板斧:找到传递依赖的鬼出在哪里? com.hsit:euler-foundation:jar:0.9.0.1-SNAPSHOT [INFO] +- com.rop:rop:jar:1.0.1:compile [INFO] | +- org.slf4j :slf4j-api:jar:1.7.5:compile [INFO] | +- org.slf4j:slf4j-log4j12:jar:1.7.5:compile [INFO] | +- log4j :log4j:jar:1.2.16:compile [INFO] | +- commons-lang:commons-lang:jar:2.6:compile [INFO] | +- commons-codec (这一步非常重要哦,经常项目组pom.xml是相同的,但是就是有些人可以运行,有些人不能运行,俗称人品问题,其实都是IDE的缓存造成的了 idea清除缓存,为了提高效率不建议采用reimport重新起开启项目的方式

    77320编辑于 2022-06-09
  • 来自专栏PHP开发者那些事

    redis问题排查

    当出现异常以后,可以从以下几个原因入手排查。 API或数据结构使用不合理 慢查询。命令slowlog get [n]。 1)使用了复杂读为O(n)的命令导致,如hgetall等。 CPU饱和的问题。 内存交换 网络问题

    60920发布于 2020-06-23
  • 来自专栏OSChina

    线上问题排查

    ,内存占用情况 [root@localhost ~]# top 2 平均加载时间 [root@localhost ~]# uptime 16:45:18 up 18 days, 45 min, 4 15 14 71 0 0 1 0 1024 2612088 16 633616 0 0 0 10 2846 9886 10 7 83 0 0 4 0.00 0.00 0.00 78.89 5 查看当前系统进程 [root@localhost ~]# ps -ef|grep java root 2564 1 4 00:16:04 java -jar insight-serve-v4-1.0-beta.jar 5 root 2583 1 0 11:40 ? 2531(进程id) Linux 3.10.0-862.el7.x86_64 (localhost.localdomain) 2019年10月07日 _x86_64_ (4

    1K20发布于 2019-10-09
  • 来自专栏后端开发随笔

    排查log4j不输出日志到文件的问题

    问题描述 项目使用Spring Boot框架,在pom文件中添加了如下配置: <dependency> <groupId>org.slf4j</groupId> <artifactId> 一开始我以为是log4j的配置问题:只输出到控制台,不输出到文件,但是反复确认配置没问题。 解决步骤 由于这是一个新介入的老项目,一开始并没有从“配置依赖可能有问题”这个角度去考虑,另外一点就是项目的启动日志太多了,在启动的时候很快就产生许多信息,把关键的的错误信息错过了。 虽然已经解决了问题,但同时也不禁让我疑惑,难道Slf4j会优先加载slf4j-simple吗?带着这个疑问,继续追踪一下源码。 日志不输出的问题

    4.2K20编辑于 2022-04-29
  • 来自专栏解Bug之路

    日常问题排查-调用超时日常问题排查-调用超时

    日常问题排查-调用超时 前言 日常Bug排查系列都是一些简单Bug排查,笔者将在这里介绍一些排查Bug的简单技巧,同时顺便积累素材^_^。 Bug现场 这次的Bug是大家喜闻乐见的调用超时。 开始排查 那么这5秒钟时间到底消失在哪里呢?有3个可能的点: 1)A日志打点到真正发出请求包 2)网络上 3)B真正接收请求包到B日志打点。 为什么会有swap 实际上对应机器的内存使用率并不高,一共8G的内存,JVM只占用到了4G左右。但swap的逻辑并仅仅是内存吃紧了才使用swap分区。 所以看上去是概率上出现GC慢的问题。 另一个机房没出问题 这时候巧的是,业务开发向笔者反映,另一个机房的相同应用确不会出现此问题。捞了下对应日志,发现其class unloading只有0.9s左右。 另外, 对于一个偶发性的问题,我们应该通过监控等手段去寻找规律,这样就很容易找到突破点。

    1.6K30编辑于 2021-12-24
  • 来自专栏Pou光明

    手眼标定问题排查_圆网格数据排查

    经过昨天晚上的调试,发现了一个主要问题:使用圆网格标定板标定时,不能使用cornerSubPix()函数,否则寻找角点时,会导致图一的情况(裁剪为30万像素)。就找到能参考的程序,推进还是很快的。 0.9698494600958647] 第3幅图像的平移向量: [-0.2591095981902292; -54.97726647214457; 446.0070665585101] 第4幅图像的旋转向量 Rodrigues : [0.2382480453803298; -0.2279683675221786; 0.7445192040707087] 第4幅图像的旋转矩阵: [0.7132444199639519 0.710977653233358, -0.2930560387724114; 0.2874951523912637, 0.1325023620210484, 0.9485724334020924] 第4幅图像的平移向量 下次把有问题的数据列下。 上面数据均未使用图片校准。 目前这个相机标定程序比较OK,至此棋盘格和圆网格两种标定板。有需要的同志可在公众号后台留言“改进的相机标定程序”。

    43410编辑于 2024-04-13
  • 来自专栏运维开发故事

    Docker EOF问题排查

    一、前言 问题排查过程,源码部分均由我的开发同事排查和记录;在征得其同意后,由我发表在此。 二、问题 某天接到客户反馈,pod的事件中出现大量的 warning event: Readiness probe failed: OCI runtime exec failed: exec failed level=error msg="Error running exec 8e34e8b910694abe95a467b2936b37635fdabd2f7b7c464d fef952fa5732aa4e 经过排查,发现 runc exec 在运行期间会读取 container 的 state.json,并使用 json decode 时出现异常。 ? 此时排查 runc EOF 和 kubelet cpu-manager update container(默认每 10s 更新一次) 的时间,发现时间点刚好吻合,验证猜想。

    5.7K10发布于 2021-06-24
  • 来自专栏linux

    网络问题故障排查

    网络问题故障排查 一、服务器网络卡慢 参考文档https://cloud.tencent.com/document/product/213/14633 1、检查本地访问域名速度 https://itango.tencent.com /huatuo) 2、检查ping指令是否ping通 ping ip地址/域名 3、检查端口情况 telnet ip地址 端口 4、使用nslookup查看DNS是否生效情况 nslookup 地址 5 、使用MTR分析网络延迟及丢包 https://cloud.tencent.com/document/product/213/14638 二、CDN网络访问故障 CDN网络故障原因排查https:// 检查加速域名是否加速生效 nslookup qt=cname 加速域名 3、查询节点是否命中 https://cloud.tencent.com/document/product/228/11203 4

    45610编辑于 2025-07-04
  • 来自专栏Windows技术交流

    windows update问题排查

    Get-WindowsUpdateLog执行报错的时候,可以拿日志C:\Windows\Logs\WindowsUpdate\ (压缩成.7z格式)到正常的系统使用Get-WindowsUpdateLog 加参数指定源和目标位置导出

    1.1K10编辑于 2024-08-21
  • 来自专栏伟大程序猿的诞生

    Android 混淆问题排查

    问题 近期在开发过程中,突然出现混淆后程序出现运行时异常,编译是正常的,不混淆也是正常的, 错误信息如下提示 12-07 14:10:27.056 10603-10603/? ZygoteInit.java:888) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:749) 思路 1、通过上面的错误信息首先会去排查 2、考虑到关闭混淆正常,开启混淆异常,那么就定位到时混淆的问题 3、既然是混淆问题那就查看混淆配置文件proguard-rules.pro,基本的配置都已经防混淆了 4、接下来的思路就是通过反编译来查看 BaseApplication到底出了啥额问题 过程 第一步 我们看到下面反编译的代码 ? 所以以后遇到混淆的问题就按照提示一步一步排查,一定要反编译文件来分析问题,不然无法定位原因。 还有第一次混淆后建议反编译查看一下包里面的代码,有没有需要混淆的核心代码被keep掉了。

    2.7K20发布于 2019-01-21
  • 【系统问题排查方法】

    常见系统问题排查方法 系统问题排查通常涉及多个层面,包括代码、数据库、网络、服务器等。以下是一些常见的排查方法: 日志分析:检查系统日志、应用日志、数据库日志等,查找异常信息或错误堆栈。 日志是排查问题的第一手资料,能够快速定位问题发生的具体位置。 数据库性能问题往往是系统瓶颈之一。 网络排查:使用ping、traceroute、netstat等工具检查网络连接是否正常,排查网络延迟或丢包问题排查步骤: 检查数据库连接池配置,发现最大连接数设置过低,无法应对大促期间的高并发请求。通过调整连接池配置,增加最大连接数,问题得到缓解。 总结 系统问题排查需要结合日志分析、性能监控、代码审查等多种手段,针对不同的问题场景采取相应的解决方案。通过案例分析,可以更好地理解问题排查的思路和方法,提升系统稳定性和性能。

    65010编辑于 2025-08-29
  • 来自专栏第三方工具

    线上问题排查方法

    线上问题排查方法 1 OOM问题 1.1 堆内存OOM 1.2 栈内存OOM 1.3 栈内存溢出 1.4 GC OOM 1.5 元空间OOM 2 CPU100%问题 3 接口超时问题 4 索引失效问题 如果生产环境中,出现了这个问题,可以排查一下递归调用是否正常,有可能出现了无限递归的情况。 4.增加锁等待超时处理。 5.增加监控和分析 6 磁盘问题 磁盘问题一般有两种: 磁盘坏了 磁盘空间不足 如果是磁盘空间不足。 如果MQ生产者没有批量发送消息,则需要排查MQ消费者的业务逻辑中,哪些地方出现了性能问题,需要做代码优化。 如果用正常数据,可能测不出问题,但一旦出现异常数据,就会立即出现死循环。 4.3 无限递归 建议写递归方法时,设定一个递归的深度,比如:分类最大等级有4级,则深度可以设置为4

    75010编辑于 2024-11-29
  • 来自专栏cywhat

    Java线上问题排查

    查看占用资源信息以及pid top 2、查看pid下绑定线程 top -Hp pid1(进程id) 3、拿到需要查询的线程pid,转换成16进制 printf '%x' pid2(线程id) ==> 6a4 #6a4为输出结果 4、通过jstack讲java信息输出到文本 jstack pid1(进程id) > t.txt 如果jstack报错,请查看 jstack不存在 5、在t.txt文件中查找6a4 vim t.txt /6a4 6、然后找到自己的collectorl业务代码层具体行数去分析

    56610编辑于 2022-11-22
  • 来自专栏运维小白

    1.8 网络问题排查

    1.8 网络问题排查 在NAT模式下变成为桥接模式(右下角,网络适配器) 桥接模式下的方框,不用去选择,打钩。

    1K60发布于 2018-02-06
  • 来自专栏苏三说技术

    线上问题排查指南

    前言 最近经常有小伙伴问我,遇到了线上问题要如何快速排查。 这非常考验工作经验了。 有些问题你以前遇到,如果再遇到类似的问题,就能很快排查出导致问题的原因。 在老代80%时就是开始GC,并且将-XX:SurvivorRatio(-XX:SurvivorRatio=8)和-XX:NewRatio(-XX:NewRatio=4)设置的更合理。 4 索引失效问题 不知道你有没有遇到过,生成环境明明创建了索引,但数据库在执行SQL的过程中,索引竟然失效了。 由于索引失效,让之前原本很快的操作,一下子变得很慢,影响了接口的性能。 还有一种可能也会导致请求接口报404的问题,接口地址之前注册到了API网关中,但API网关的配置出现了问题。 优先排查接口url是否修改,然后排查网关或者Nginx配置是否有问题。 我们只能查看接口的错误日志,来定位和排查问题。 建议出现异常时,把接口请求参数打印出来,方便后面复现问题。 导致这种问题的原因有很多,我们只能根据服务器上的错误日志,和相关的业务代码逐一排查

    1.2K10编辑于 2024-08-14
  • 来自专栏k-cloud-labs

    docker hang问题排查

    2.重启kubelet变更宿主状态 kubelet重启后宿主状态从Ready变为NotReady,这个问题相较docker hang死而言,没有那么复杂,所以我们先排查这个问题。 NotReady绝大多数情况都是容器运行时出了问题 Unknown状态:表明宿主kubelet已停止运行 kubelet定义的ReadyCondition的判定条件如下: 1 2 3 4 5 因此单纯依赖协程调用链路定位问题这条路被堵死了。 截至目前,我们已经收集了部分关键信息,同时也将问题排查范围更进一步地缩小在containerd-shim与runc之间。 接下来我们换一种思路继续排查。 3.2 进程排查 当组件的运行状态无法继续获取时,我们转换一下思维,获取容器的运行状态,也即异常容器此时的进程状态。 后续 docker hang死的原因远非这一种,本次排查的结果也并非适用于所有场景。希望各位看官能够根据自己的现场排查问题

    1.9K50编辑于 2023-03-06
  • 来自专栏小白debug

    502问题怎么排查

    但如果服务端发现客户端发的东西异常,就响应个4xx状态码,意思是这是个客户端的错误,4xx里头的xx可以根据错误的类型,再细分成各种码,比如401是客户端没权限,404是客户端请求了一个根本不存在的网页 反过来,如果是服务器有问题,就返回5xx状态码。 4xx和5xx的区别 但问题就来了。 服务端都有问题了,搞严重点,服务器可能直接就崩溃了,那它还怎么给你返回状态码? 另外,由于背后的服务器可能性能配置各不相同,有些4核8G,有些2核4G,nginx能为它们加上不同的访问权重,权重高的多转发点请求,通过这个方式实现不同的负载均衡策略。 这种情况几乎都是程序有代码逻辑问题,崩溃一般也会留下代码堆栈,可以根据堆栈报错去排查问题,修复之后就好了。比如下面这张图是golang的报错堆栈信息,其他语言的也类似。 实例已经销毁但配置没删IP 要排查这种问题也不难。 这个时候,你可以看下nginx侧是否有打印相关的日志,看下转发的IP端口是否符合预期。

    2.5K20编辑于 2022-12-02
  • 来自专栏Java架构师必看

    JVM 问题排查工具

    真实生产环境&预发的排查问题大杀器。 部分功能和btrace重合):sc -df xxx:输出当前类的详情,包括源码位置和classloader结构;trace class method: 打印出当前方法调用的耗时情况,细分到每个方法, 对排查方法性能时很有帮助 【4】Arthas:Arthas是基于Greys。 更多请参考:官网 【6】JProfiler:之前判断许多问题要通过JProfiler,但是现在Greys和btrace基本都能搞定了。 再加上出问题的基本上都是生产环境(网络隔离),所以基本不怎么使用了,但是还是要标记一下。

    86820发布于 2021-05-14
领券