首页 / LINUX / Linux性能之cpu上下文切换
Linux性能之cpu上下文切换
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Linux性能之cpu上下文切换,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1308字,纯文字阅读大概需要2分钟。
内容图文
![Linux性能之cpu上下文切换](/upload/InfoBanner/zyjiaocheng/977/0e8a1a79de8d4124be548ea533e59519.jpg)
一、平均负载在不同的场景,会出现不同的负载升高。
》 cpu密集型进程,使用大量cpu会导致平均负载升高,此时这两者是一致的。
》io密集型进程,等待io也会导致平均负载升高,但cpu不一定很高。
》大量等待cpu的进程调度也会导致平均负载升高,此时cpu使用率也会比较高。
大量进程竞争cpu(也就是上面的第三个场景),往往是被忽略的,cpu虽然没有使用,只是在竞争,也会发生负载吗?
我们都知道linux是一个多任务操作系统,它支持远大于cpu数量的任务同时运行,当然这些任务不是同时运行,而是系统在很短时间内,将cpu轮流分配给它们,造成多任务同时运行的错觉。
而每个任务运行前,cpu需要知道任务从哪里加载、又从哪里开始运行,也就是说,需要系统事先帮它设置好cpu寄存器和程序计数器。
cpu寄存器:是cpu内置的容量小、但速度极快的内存。
程序计数器:是用来存储cpu正在执行的指令位置、或者即将执行的下一条指令位置。他们都是cpu在运行任何任务前,必须的依赖环境,因此也被叫做cpu上下文。
cpu上下文切换:就是先前一个任务的cpu上下文(也就是CPU寄存器和程序计数器)保存起来,然后加载新任务的上下文到这些寄存器和程序计数器,最后再跳转到程序计数器所指的新位置,运行新任务。
而这些保存下来的上下文,会存储在系统内核中,并在任务重新调度执行时再次加载进来。这样就保证原来任务的状态不受影响,让任务看起来还是连续运行。
根据任务不同,cpu的上下文切换就可以分为不同的几个场景,进程上下文切换,线程上下文切换以及中断上下文切换。
内容总结
以上是互联网集市为您收集整理的Linux性能之cpu上下文切换全部内容,希望文章能够帮你解决Linux性能之cpu上下文切换所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。