排查Linux系统CPU上下文切换导致利用率升高的问题

计算操作系统技术服务知识库
问题描述

如何排查由于上下文切换导致CPU利用率升高的问题

问题分析

可以使用vmstat、pidstat工具跟来分析上下文切换和中断问题。

解决方案

1、先使用top查看机器整体性能状况,如下: 图片 我们可以发现CPU0跟CPU1使用率都很高,CPU0的sys高达89.7%,CPU1的sys高达88.7%。 且可以看到进程sysbench的CPU使用率为197%,CPU0跟CPU1使用率之和。 2、然后使用vmstat来观察上下文切换的情况,如下: 图片 我们可以发现,处于r状态的就绪队列远大于CPU数量,说明有多个进程等待运行,且cs表示的上下文切换次数明显升高,已升高至150万左右。 3、然后我们使用pidstat来查看上下文切换过多的进程或者线程,pidstat 默认显示进程的指标数据,加上 -t 参数后,才会输出线程的指标,如下: 图片 我们可以发现,sysbench的子线程发生了过多的上下文切换,我们已经找到上下文切换次数增多的线程。 综合上述指标,我们可以判断,系统正在运行和等待 CPU 的进程数过多,导致了大量的上下文切换,而上下文切换又导致了系统 CPU 的占用率升高。 如果您有其他问题,欢迎您联系火山引擎技术支持服务

0
0
0
0
相关资源
字节跳动 EB 级湖仓一体分析服务 LAS 的实践与展望
火山引擎湖仓一体分析服务 LAS 是面向湖仓一体架构的 Serverless 数据处理分析服务,提供一站式的海量数据存储计算和交互分析能力,完全兼容 Spark、Presto、Flink 生态,在字节跳动内部有着广泛的应用。本次演讲将介绍 LAS 在字节跳动内部的发展历程和大规模应用实践,同时介绍 LAS 在火山引擎上的发展规划。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论