![]() |
1
oneisall8955 2 天前
4 个核,每次一个核心跑满?
|
2
aoxg2019 OP @oneisall8955 确实是 4 个 c.不太明白为啥心跳线程失败后会导致 cpu 被用完
|
3
fj19 2 天前
有定时任务吧
|
![]() |
4
LiaoMatt 2 天前
会不会是用 while true 来拿分布式锁了
|
![]() |
5
oneisall8955 2 天前
@aoxg2019 #2 考虑某个线程 while true 或者扫描全量 keys 或 scan 模糊查询之类的
|
7
aoxg2019 OP @LiaoMatt @oneisall8955 用的 lock.tryLock(0,3,second)这个方式去抢锁。整个应用就这么这个地方用到了 redisson 客户端,其他地方没有用 redis 的
|
![]() |
8
litchinn 2 天前
跑个火焰图,用 arthas 查看下线程情况,观察下 GC 情况
|
9
hwdq0012 2 天前
pod 是指 kubernetes 的 pod 吗,如果是不是可以进入 Pod 的 shell 吗,在里面用 gdb 分析一下
|
![]() |
10
cccb 2 天前
哥你名字和 ip 全漏了
|
![]() |
11
listen2wind 2 天前
@cccb 看名字应该是个姐
|
![]() |
12
oneisall8955 2 天前
@listen2wind 敏字,哥姐都能用吧
![]() |
![]() |
15
oneisall8955 2 天前
额,原来是客户端,java 的 pod 100% 呀,那本地复现下,线程 dump ,看线程状态,或许是下面的原因:
https://github.com/redisson/redisson/issues/6153 https://www.cnblogs.com/macho8080/p/18628542 |
16
zhady009 2 天前
先看其他环境能不能复现好做验证和收集额外运行时的信息,然后需要确定是哪个线程搞鬼,用 JFR 去记录然后 dump 一下,如果是 Redisson 的问题不想动脑子就先升级版本试试
|
17
conn457567 2 天前 via Android
这个问题在我们生产环境快一年了。。升级到 resission 最新版本试试,他们上上周出了一个新版本解决这个问题
|
18
Richared 1 天前 ![]() 看其他环境能不能复现吧,能复现问题就能解决一大半。生产有些工具你都用不了,只能猜,太影响排查了。
|