首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏王磊的博客

    死锁的 4排查工具 !

    死锁产生原因 通过以上示例,我们可以得出结论,要产生死锁需要满足以下 4 个条件: 互斥条件:指运算单元(进程、线程或协程)对所分配到的资源具有排它性,也就是说在一段时间内某个锁资源只能被一个运算单元所占用 只有以上 4 个条件同时满足,才会造成死锁问题。 死锁排查 如果程序出现死锁问题,可通过以下 4 种方案中的任意一种进行分析和排查。 : 单机鼠标进入“线程”模块,如下图所示: 从上图可以看出,当我们切换到线程一栏之后就会直接显示出死锁信息,之后点击“线程 Dump”生成死锁的详情信息,如下图所示: 方案 4: jmc jmc 是 Oracle Java Mission Control 的缩写,是一个对 Java 程序进行管理、监控、概要分析和故障排查的工具套件。 死锁的排查工具总共有 4 种: jstack jconsole jvisualvm jmc 从易用性和性能方面来考虑,推荐使用 jconsole 或 jvisualvm 来排查死锁。

    2.4K30发布于 2021-08-25
  • 来自专栏Nicky's blog

    MevenHelper排查Apache Log4j2 jar依赖

    2021年11月24日,阿里云安全团队向Apache官方报告了Apache Log4j2远程代码执行漏洞。 所以,最近公司项目也要排查是否使用了log4j较低的版本,项目使用了maven,所以要一个一个检查也是麻烦,所以可以使用maven helper依赖,在idea编辑器里使用 安装插件,setting - 选项的意思: Conflicts:查看冲突 All Dependencies as List:以列表形式查看所有依赖 All Dependencies as Tree:以树形式查看所有依赖 log4j 版本太低,要求高于2.15版本,右键jump to source,找到对应位置进行修改版本号 参考资料: https://github.com/apache/logging-log4j2 https:

    73120编辑于 2021-12-14
  • 来自专栏数通

    IPv4IPv6 双栈网络 IPv4 故障闭环排查指南

    该现象核心指向:IPv4 与 IPv6 在地址获取、二层邻居发现、三层转发路径、安全策略/NAT 处理等环节存在差异化故障,需针对 IPv4 协议栈单独闭环排查。 处置方向 检查 DHCPv4 服务器配置:确认地址池网段、子网掩码、网关、DNS 等 Option 参数配置正确;排查地址池是否耗尽。 二层转发故障排查检查交换机 MAC 地址表是否学习异常(如 MAC 漂移、端口安全限制);排查广播域是否存在风暴抑制、未知单播丢弃等配置。 三层接口检查确认网关三层接口状态为 Up/Up;排查是否存在 ACL 规则在三层接口拦截 IPv4 流量。 排查 IPv4 特定安全限制检查是否存在针对 IPv4 的 IPS/IDS 规则、流量限速、连接数限制等配置,是否误拦截合法流量。

    42810编辑于 2026-01-13
  • 4排查 + 常见原因解析

    按下面步骤查,既能快速判断是不是模块坏了,还能知道常见失效原因,排查更高效。

    74610编辑于 2025-08-22
  • 来自专栏后端开发随笔

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

    /logging/log4j/log4j-slf4j-impl/2.13.3/log4j-slf4j-impl-2.13.3.jar! 也就是说,当slf4j-simple存在classpath下时,总是优先使用它作为slf4j-api的默认实现;此时,即使同时配置了log4j,也无法使用log4j进行日志输出。 loaded from file:/D:/.m2/repository/org/apache/logging/log4j/log4j-slf4j-impl/2.13.3/log4j-slf4j-impl slf4j-simple和log4j-slf4j-impl是可以共存的,但是优先只会使用slf4j-simple作为slf4j的日志实现。 如下配置不会导致项目启动失败: <! -- slf4j-simple可以与log4j-slf4j-impl共存,但是优先使用slf4j-simple --> <dependency> <groupId>org.slf4j</groupId

    4K20编辑于 2022-04-29
  • 来自专栏Pou光明

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

    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幅图像的平移向量

    34910编辑于 2024-04-13
  • 《AI游戏开发深层问题实录:4类典型难题的排查与解决路径》

    本文以4类真实开发场景中的高频复杂问题为核心,完整还原从现象观察到根源剖析,再到方案落地的全流程,为AI游戏开发者提供兼具深度与实操性的避坑参考。首先需明确项目的技术基底,这是理解问题产生背景的关键。 为排查根源,我们从AI战斗策略模型与游戏战斗系统的交互逻辑入手。 为排查根源,我们从AI任务进度管理系统与游戏服务器的同步逻辑展开分析。 为排查根源,我们从AI音效生成模型与游戏场景氛围系统的交互逻辑入手。

    40500编辑于 2025-09-12
  • 来自专栏关忆北.

    线上问题排查一接口拒绝连接排查思路

    排查思路: 检查目标服务器防火墙配置,开启目标端口,重启防火墙 检查目标服务器服务状态 解决过程: 查看服务器调用者日志,当出现接口拒绝连接时,可参考以下方案: 使用ping IP命令查看目标服务器是否宕机

    1.8K30编辑于 2022-01-10
  • 来自专栏以Java架构赢天下

    JAVA死锁排查-性能测试问题排查思路

    Java发生死锁的根本原因是:在申请锁时发生了交叉闭环申请。即线程在获得了锁A并且没有释放的情况下去申请锁B,这时,另一个线程已经获得了锁B,在释放锁B之前又要先获得锁A,因此闭环发生,陷入死锁循环。

    80320发布于 2020-07-06
  • 来自专栏快乐阿超

    centos磁盘排查

    今天发现服务器磁盘满了,使用du命令排查,首先找到根目录 du -h --max-depth=1 / 然后发现/usr下面最大,接着找/usr目录下 du -h --max-depth=1 /usr 发现/usr/local目录最大,我们挨个排查下去,发现是jpom的历史构建产物占用空间太多,去Jpom里删除就好了

    37450编辑于 2023-02-21
  • 来自专栏Howl同学的学习笔记

    JVM排查定位

    4. jmap 生成堆转储快照(headdump),或者 设置参数 -XX:+HeadDumpOnOutOfMemoryError参数,溢出时自动生成快照文件,文件中可以获取到: 对象信息:类、成员变量 排查总结 7.1 CPU过高 top P M X 找到占用高的进程id top -Hp pid 找到占用高的线程nid,转换16进制,(printf '%x\n' pid) jstack pid 来查看线程的详细信息 自动设置的快照-XX:-XX:+HeadDumpOnOutOfMemoryError 用分析工具分析:查看哪个类和实例数过大,本来就定位线程了,只需看该线程的对象信息即可 7.3 死锁 直接JConsole排查死锁

    96220发布于 2020-06-04
  • 来自专栏数据小冰

    死锁问题排查

    既然已知道异常服务,那可以从这里入手进行分析,又与同事沟通一番,确定了与该服务相关的一些后台模块,接下来重点排查这些模块。 排查方法 日志中出现了sync. 可以通过破坏死锁产生的4个必要条件来预防死锁,打破其中之一就可以避免死锁产生。那挑选比较容易的进行破坏,由于资源互斥是资源使用时的固有特性无法改变,所以破坏互斥条件这条直接放弃。

    1.5K10编辑于 2022-08-15
  • 来自专栏全栈程序员必看

    堆栈溢出排查

    -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/d5000/eas/easDmSync/heapdump.hprof

    1.5K20编辑于 2022-11-15
  • 来自专栏周拱壹卒

    CPU 飙升排查

    CPU飙升 线上资源cpu飙升是我们工作中常见的问题,一篇文章搞定排查方法 一、问题复现 现在我有两个接口,代码如下 @RestController public class CPUCheck { 二、测试 我们将项目打包部署在服务器上,并启动 测试接口 curl http://localhost:9901/thing-test/hello pid 三、排查 通过top命令可以查看到有一个java

    28210编辑于 2024-04-08
  • 来自专栏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

    67420编辑于 2022-06-09
  • 来自专栏学习内容

    jvm异常排查

    27710编辑于 2023-08-09
  • 来自专栏Java实战博客

    Linux日志排查

    因为懒,很多时候排查问题起来太依赖可视化工具了,就导致很多Linux命令忘记了。 某个文本 信息 grep -r "error" /var/log 查看并搜索日志 less less命令:http://linux.zanglikun.com/c/less.html#%E5%AE%9E%E4%

    28310编辑于 2024-08-19
  • 来自专栏全栈程序员必看

    排查挖矿病毒

    排查分析 经top 查看原来是一个叫269 的进程一直抢占CPU,占比高达4000%。而该269 进程则是挖矿病毒进行高度伪装,即使是kill 掉该进程也无济于事,后面又会自动跑起来。 CPU;比如269; 2、kill 掉该挖矿进程;sudo kill -9 48124; 3、通过关键词查找挖矿病毒,一般在/tmp 目录底下,如果不清楚查找,直接删除/tmp 目录底下的所有文件; 4、 要排查和删掉相关的定时脚本; 4、观察服务器一段时间,查看病毒是否还存在。 download_installer_linux.php -O linux_edr_installer.tar.gz进行下载 2、将安装包拷贝至终端 3、在终端解压安装包 tar -xzvf linux_edr_installer.tar.gz 4、 SSH策略检测 身份鉴别策略组检测 对一些已感染的文件进行隔离病毒 安全防护 1、修改管理员和root 账号的密码,复杂度要高些; 2、安装和设置防火墙; 3、关闭不必要的服务和端口; 4

    1.2K10编辑于 2022-07-01
  • 来自专栏采云轩

    Redis Bigkey排查

    作为游标,开始新的迭代 1) "17" # 第一次迭代时返回的游标 2) 1) "key:12" 2) "key:8" 3) "key:4" 4) "key:14" 5) "key:16" 6) "key:17" 7) "key:15" 8) "key:10" 9) "key:3" 10 > STRLEN 22de5ac4e8074ff4bf03d777850de62c 640 b. 集合类型:如果已知元素大小,乘上元素个数就是占用内存大小。 0 = "String Encoding" # 1 = "List Encoding" # 2 = "Set Encoding" # 3 = "Sorted Set Encoding" # 4 当发现 Redis 变慢了,可以通过下面的 checklist 来排查问题: 使用复杂度过高的命令或一次查询全量数据; 操作 bigkey; 大量 key 集中过期; 内存达到 maxmemory; 客户端使用短连接和

    96910编辑于 2023-09-01
  • 来自专栏后端码事

    线上问题排查

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

    83810发布于 2020-09-10
领券