Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nacos集群,运行一段时间后,个别节点不定时出现CPU飙升的情况 #12820

Open
shuguangFJ opened this issue Nov 5, 2024 · 5 comments

Comments

@shuguangFJ
Copy link

shuguangFJ commented Nov 5, 2024

服务端版本:2.3.2/2.4.2.1
客户端版本:2.3.2
三个节点组成的一个集群,不定时的会出现个别节点CPU飙升,使用率达到100%,进程挂掉的情况。

线程运行情况:
t

使用netstat命令,查看到9848,9849端口有很多CLOSE_WAIT状态的连接。

@KomachiSion
Copy link
Collaborator

没有遇到过这个情况, 操作系统是windows吗?

@shuguangFJ
Copy link
Author

操作系统用的麒麟
NAME="Kylin Linux Advanced Server"
VERSION="V10 (Sword)"
ID="kylin"
VERSION_ID="V10"
PRETTY_NAME="Kylin Linux Advanced Server V10 (Sword)"

@KomachiSion
Copy link
Collaborator

可以打印一下CPU占用高的线程的堆栈, 看一下是否是Nio的Selector占用了CPU资源, 如果是的话,那应该是jdk NIO的bug,和window上的问题一样,

如果不是的话, 可以把堆栈贴出来, 看一下什么地方占用了过高的CPU。

也可以用arthas抓一下火焰图,可能更直观一点。

@shuguangFJ
Copy link
Author

可以打印一下CPU占用高的线程的堆栈, 看一下是否是Nio的Selector占用了CPU资源, 如果是的话,那应该是jdk NIO的bug,和window上的问题一样,

如果不是的话, 可以把堆栈贴出来, 看一下什么地方占用了过高的CPU。

也可以用arthas抓一下火焰图,可能更直观一点。

这是之前抓的堆栈信息和火焰图
103836.zip

@KomachiSion
Copy link
Collaborator

从火焰图来看,感觉是grpc的queue实现有问题, 在这个系统下会把CPU跑满, 可以到grpc社区搜索一下对应issue,看下是配置的问题还是版本问题。

我的环境是复现不出这个问题。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants