redission 客户端 pod,cpu100%.心跳检测中,出现了 RedisTimeOutException 后,就会导致 CPU 跳升 25%,大概两个小时跳一次,4 此后就到 100%了 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
aoxg2019
V2EX    Java

redission 客户端 pod,cpu100%.心跳检测中,出现了 RedisTimeOutException 后,就会导致 CPU 跳升 25%,大概两个小时跳一次,4 此后就到 100%了

  •  
  •   aoxg2019 275 天前 2611 次点击
    这是一个创建于 275 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如下图,很有规律,不知道因为什么原因莫名的导致 cpu 暴涨,但是其他机房的 pod,或者说同机房的 pod 却一切正常,应用内只有一个分布式锁的应用,有应用到 leaseTime,应该时没有 watchDog 的,redission 的后台检车线程猜测来看只有心跳检测.不明白的心跳失败后为何 cpu 的暴涨如此有规律.还望有大佬解答.
    18 条回复    2025-03-18 11:56:04 +08:00
    itechify
        1
    itechify  
    PRO
       275 天前
    4 个核,每次一个核心跑满?
    aoxg2019
        2
    aoxg2019  
    OP
       275 天前 via Android
    @oneisall8955 确实是 4 个 c.不太明白为啥心跳线程失败后会导致 cpu 被用完
    fj19
        3
    fj19  
       275 天前
    有定时任务吧
    LiaoMatt
        4
    LiaoMatt  
       275 天前
    会不会是用 while true 来拿分布式锁了
    itechify
        5
    itechify  
    PRO
       275 天前
    @aoxg2019 #2 考虑某个线程 while true 或者扫描全量 keys 或 scan 模糊查询之类的
    aoxg2019
        6
    aoxg2019  
    OP
       275 天前 via Android
    @fj19 定时任务应用层面没有,redisson 有心跳任务
    aoxg2019
        7
    aoxg2019  
    OP
       
    @LiaoMatt @oneisall8955 用的 lock.tryLock(0,3,second)这个方式去抢锁。整个应用就这么这个地方用到了 redisson 客户端,其他地方没有用 redis 的
    litchinn
        8
    litchinn  
       275 天前
    跑个火焰图,用 arthas 查看下线程情况,观察下 GC 情况
    hwdq0012
        9
    hwdq0012  
       275 天前
    pod 是指 kubernetes 的 pod 吗,如果是不是可以进入 Pod 的 shell 吗,在里面用 gdb 分析一下
    cccb
        10
    cccb  
       275 天前
    哥你名字和 ip 全漏了
    listen2wind
        11
    listen2wind  
       275 天前
    @cccb 看名字应该是个姐
    itechify
        12
    itechify  
    PRO
       275 天前
    @listen2wind 敏字,哥姐都能用吧
    aoxg2019
        13
    aoxg2019  
    OP
       275 天前 via Android
    @litchinn 线上不允许用这些检测工具
    aoxg2019
        14
    aoxg2019  
    OP
       275 天前 via Android
    @hwdq0012 pod 已经呗 kill 了
    itechify
        15
    itechify  
    PRO
       275 天前
    额,原来是客户端,java 的 pod 100% 呀,那本地复现下,线程 dump ,看线程状态,或许是下面的原因:

    https://github.com/redisson/redisson/issues/6153

    https://www.cnblogs.com/macho8080/p/18628542
    zhady009
        16
    zhady009  
       275 天前
    先看其他环境能不能复现好做验证和收集额外运行时的信息,然后需要确定是哪个线程搞鬼,用 JFR 去记录然后 dump 一下,如果是 Redisson 的问题不想动脑子就先升级版本试试
    conn457567
        17
    conn457567  
       275 天前 via Android
    这个问题在我们生产环境快一年了。。升级到 resission 最新版本试试,他们上上周出了一个新版本解决这个问题
    Cruzz
        18
    Cruzz  
       274 天前   1
    看其他环境能不能复现吧,能复现问题就能解决一大半。生产有些工具你都用不了,只能猜,太影响排查了。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1072 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 18:16 PVG 02:16 LAX 10:16 JFK 13:16
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86