3-CPU性能-上下文切换问题分析

本文通过htop、vmstat、pidstat和/proc/interrupts等工具,分析了CPU性能问题,尤其是上下文切换过多引起的问题。过多的上下文切换可能导致进程运行时间缩短,影响系统性能。通过观察vmstat的cs、in参数,pidstat的cswch、nvcswch指标,以及中断次数,可以定位到问题源头。自愿和非自愿上下文切换的增加分别可能与I/O问题和CPU争抢有关,中断次数增多则可能意味着CPU被中断程序占用。这些工具和分析方法有助于排查和解决性能问题。
摘要由CSDN通过智能技术生成

 

  • 通过htop查看cpu使用率,看到哪个进程占用的cpu比较多,然后在看vmstat.看到上下午切换cs的次数很高,在通过pidstat查看是不是sys bench引起的,最后在看看/proc/interrupts 看看是什么中断引起的,最后确认是上下文切换过多引起的性能问题
  • 过多上下文切换会缩短进程运行时间
    • vmstat 1 1:分析内存使用情况、cpu上下文切换和中断的次数。cs每秒上下文切换的次数,in每秒中断的次数,r运行或等待cpu的进程数,b中断睡眠状态的进程数。
    • pidstat -w 5:查看
    • 每个进程详细情况。cswch(每秒自愿)上下文切换次数,如系统资源不足导致,nvcswch每秒非自愿上下文切换次数,如cpu时间片用完或高优先级线程
  • 案例分析:
    • sysbench:多线程的基准测试工具,模拟context switch
    • 终端1:sysbench --threads=10 --max-time=300 threads run
    • 终端2:vmstat 1:sys列占用84%说明主要被内核占用,ur占用16%;r就绪队列8;in中断处理1w,cs切换139w==>等待进程过多,频繁上下文切换,内核cpu占用率升高
    • 终端3:pidstat -w -u 1:sysbench的cpu占用100%(-wt发现子线程切换过多),其他进程导致上下文切换
    • watch -d cat /proc/interupts :查看另一个指标中断次数,在/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值