【 TiDB 使用环境】生产环境
【 TiDB 版本】6.5.0
根据中显示的 voluntary/nonvoluntary context switches,是否可以有以下推断?
- 主动切换上下文的,说明线程 cpu 负载较小
- 被动切换上下文的,说明线程 cpu 负载较大,
- 被动切换上下文的次数越多,越说明 kv 中对应模块存在 cpu 瓶颈
另外也想看看大家这部分监控平常的状态
【 TiDB 使用环境】生产环境
【 TiDB 版本】6.5.0
根据中显示的 voluntary/nonvoluntary context switches,是否可以有以下推断?
另外也想看看大家这部分监控平常的状态
主动切换本身并不直接说明CPU负载小。更多地是反映了线程的行为和调度策略吧
嗯感觉有理,那反过来的话被动切换多可以说明负载大么?能不能认为,这些被动切换的线程,都是因为cpu资源不足,被迫跟其它线程共享cpu资源?
被动切换次数多可以认为是CPU负载较大的一个表现
正常情况是这样的。
例外的情况就是,主动切换多也有可能是程序设计有问题。
被动切换上下文的次数越多,确实越可能表明系统中存在 CPU 瓶颈。这通常意味着 CPU 资源不足以满足所有线程或进程的需求,导致它们在等待 CPU 时间片的过程中频繁被中断
那基于被动切换次数和cpu负载之间的关系关系,在被动切换上下文的线程中,切换的次数可以相互比较么?比如能否认为,被动切换次数较高的线程相对于次数较低的线程,前者的负载要更高一些?能否通过分析这些表现来调整模块的线程数呢?
我是感觉这个指标只能当是一种佐证或者补充。单独使用的效果并不会太好。
毕竟也没有什么设置能明确的降低切换数。就算是感觉有问题,下一步行动也没有什么好的选择。
就像负载问题,直接观察cpu占用或者load可能都比这个指标强。对应的行动措施也更明显。
此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。