服务出现 CPU 100%(8 核, 16G)

2019-11-08 13:48:11 +08:00
 pank

最近在做服务拆分,把 A 服务中某部分的逻辑抽取到 B 服务,服务间调用采用 http 接口。然后 A 服务出现了 cpu100%的情况。

发现 A 服务消耗 cpu 最高的有 8 个线程,然后用线程 id 从 jstack 导出的 stack 日志中发现全都是 8 个 GC 的线程,且都是 runable 状态,应该不是 GC 出现的问题。

继续在 stack 日志中发现了大量线程处于 BLOCKED,且阻塞的部分都是一些类库的部分,比较的杂乱,暂未找到规律。把抽取之前的代码放到同样的环境,没有发现这个问题。有经验的老哥给我一点思路。下面是 stack 日志的一些截图:

6010 次点击
所在节点    Java
24 条回复
dorothyREN
2019-11-08 22:56:25 +08:00
@realpg #18 话说老哥现在还有靠谱点的二手服务器渠道吗
realpg
2019-11-08 23:55:49 +08:00
@dorothyREN #21 万能的淘宝 都是走量的 没有啥不靠谱的
msg7086
2019-11-09 01:21:11 +08:00
难道是内存吃完了?
fullerene
2019-11-09 23:49:11 +08:00
@choiwanxy 老哥你好,偶然看到你在有赞面试的时候的那个帖子。我这边有个 api 对接的需求想和你聊下可以么。马化腾:OTQzMjIxNA==

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/617579

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX