美文网首页
CPU 上下文切换 (下)

CPU 上下文切换 (下)

作者: 张广旭 | 来源:发表于2019-12-04 00:14 被阅读0次

工具

测试工具

  • sysbench 是一个多线程的基准测试工具,一般用来评估不同系统参数下的数据库负载情况。
    • 安装:sudo apt install sysbench

分析工具

  • vmstat 是一个常用的系统性能分析工具,主要用来分析系统的内存使用情况,也常用来分析 CPU 上下文切换和中断的次数。
  • pidstat
    • -w 选项,你就可以查看每个进程上下文切换的情况。
    • -t 选项,用于显示线程指标。

概念

  • 自愿上下文切换,是指进程无法获取所需资源,导致的上下文切换。比如说, I/O、内存等系统资源不足时,就会发生自愿上下文切换。
  • 非自愿上下文切换,则是指进程由于时间片已到等原因,被系统强制调度,进而发生的上下文切换。比如说,大量进程都在争抢 CPU 时,就容易发生非自愿上下文切换。

其它

  • /proc/interrupts 该文件提供了内核态中断情况。

小结

每秒上下文切换多少次才算正常呢?这个数值其实取决于系统本身的 CPU 性能。如果系统的上下文切换次数比较稳定,那么从数百到一万以内,都应该算是正常的。但当上下文切换次数超过一万次,或者切换次数出现数量级的增长时,就很可能已经出现了性能问题。
这时,你还需要根据上下文切换的类型,再做具体分析。比方说:

  • 自愿上下文切换变多了,说明进程都在等待资源,有可能发生了 I/O 等其他问题;
  • 非自愿上下文切换变多了,说明进程都在被强制调度,也就是都在争抢 CPU,说明 CPU 的确成了瓶颈;
  • 中断次数变多了,说明 CPU 被中断处理程序占用,还需要通过查看 /proc/interrupts 文件来分析具体的中断类型。

相关文章

  • 04 | 基础篇:经常说的 CPU 上下文切换是什么意思?(下)

    上一节,我给你讲了 CPU 上下文切换的工作原理。简单回顾一下,CPU 上下文切换是保证 Linux 系统正常工作...

  • 经常说的 CPU 上下文切换是什么意思?(下)

    CPU 上下文切换的工作原理。简单回顾一下,CPU 上下文切换是保证 Linux 系统正常工作的一个核心功能,按照...

  • CPU性能分析--上下文切换

    内容提要 CPU上下文切换都做了哪些事? CPU上下文切换都有哪些场景? 系统调用上下文切换都做了哪些事? 进程上...

  • 监控CPU

    CPU 上下文切换 根据任务的不同,CPU 的上下文切换就可以分为几个不同的场景,也就是进程上下文切换、线程上下文...

  • CPU上下文切换查看分析

    查看CPU上下文切换的命令 了解了CPU上下文切会导致系统负载升高,下面我们介绍下用linux命令查看系统CPU上...

  • 并发编程的挑战

    上下文切换 上下文切换发生于计算机CPU从一个进程或线程切换到不同的进程或线程。 上下文切换允许一个CPU处理多个...

  • CPU上下文切换

    上下文切换分类 多个进程在竞争CPU时也会导致负载升高,罪魁祸首就在于CPU的上下文切换。CPU上下文的定义:每个...

  • CPU 上下文切换(下)

    过多的上下文切换,会把 CPU 时间消耗在寄存器、内核栈以及虚拟内存等数据的保存和恢复上,缩短进程真正运行的时间,...

  • CPU 上下文切换 (下)

    工具 测试工具 sysbench 是一个多线程的基准测试工具,一般用来评估不同系统参数下的数据库负载情况。安装:s...

  • linux 性能优化-- cpu 切换以及cpu过高

    摘要 本文先介绍了cpu上下文切换的基础知识,以及上下文切换的类型(进程,线程等切换)。然后介绍了如何查看cpu切...

网友评论

      本文标题:CPU 上下文切换 (下)

      本文链接:https://www.haomeiwen.com/subject/qfqkgctx.html