读懂这一篇,集群节点不下线(11)
所以基本上我们可以判断一个方向:问题可能跟 systemd 有关系 。
Systemd 是硬骨头
Systemd 是相当复杂的一个组件 , 尤其对没有做过相关开发工作的同学来说 , 比如我自己 。 基本上 , 排查 systemd 的问题 , 我用到了四个方法:
-
(调试级别)日志
-
core dump
-
代码分析
-
以及 live debugging
其中第一个、第三个和第四个结合起来使用 , 让我在经过几天的鏖战之后 , 找到了问题的原因 。 但是这里我们先从“没用”的 core dump 说起 。
1. 没用的 Core Dump
因为重启 systemd 解决了问题 , 而这个问题本身 , 是 runC 在使用 dbus 和 systemd 通信的时候没有了响应 , 所以我们需要验证的第一件事情 , 就是 systemd 不是有关键线程被锁住了 。
查看 core dump 里所有线程 , 只有以下一个线程并没有被锁住 , 它在等待 dbus 事件 , 以便做出响应 。
推荐阅读
- 地下城堡|《代号:破晓》官网“暗藏”剧情,你都读懂了吗?
- |开始·这是一个开始?开始
- 北凉悍刀行|这是一篇超详细的《北凉悍刀行》手游攻略
- 打野|王者荣耀:S25赛季打野需要注意什么?读懂这篇攻略,轻松上分
- 小智|《宝可梦》与火系御三家的对战,小智靠逆属性赢得对战胜利?
- 剑网3|剑三史上开车最离奇的外观,只因一篇818,便让黄牛高价囤货
- 地下城与勇士|DNF:零氪与充钱的差距到底有多大?这一篇文章将颠覆你的认知!
- 我的世界|我的世界:没有女朋友?那还不看过来,一篇文章教你找老婆
- 地下城与勇士|书荒是不可能的,这辈子都不可能书荒(DNF一篇)
- s5|一篇文章彻底玩懂云顶之弈S5赛季!轻松玩会所有阵容!