![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
进程调度
sunshineywz
这个作者很懒,什么都没留下…
展开
-
大碰撞!当Linux多线程遭遇Linux多进程
背景本文并不是介绍Linux多进程多线程编程的科普文,如果希望系统学习Linux编程,可以看[《Unix环境高级编程》第3版](https://book.douban.com/subject/1788421/)本文是描述多进程多线程编程中遇到过的一个坑,并从内核角度分析其原理。这里说的多进程多线程并不是单一的多进程或多线程,而是多进程和多线程,往往会在写一个大型应用时才会用到多进程多线程的模...原创 2020-07-05 23:06:31 · 206 阅读 · 0 评论 -
【原创】(五)Linux进程调度-CFS调度器
1. 概述Completely Fair Scheduler,完全公平调度器,用于Linux系统中普通进程的调度。CFS采用了红黑树算法来管理所有的调度实体sched_entity,算法效率为O(log(n))。CFS跟踪调度实体sched_entity的虚拟运行时间vruntime,平等对待运行队列中的调度实体sched_entity,将执行时间少的调度实体sched_entity排列...原创 2020-03-21 21:08:21 · 642 阅读 · 0 评论 -
【原创】(二)Linux进程调度器-CPU负载
1. 概述cat /proc/cpuinfo:查看CPU信息;cat /proc/loadavg:查看cpu最近1/5/15分钟的平均负载:计算CPU负载,可以让调度器更好的进行负载均衡处理,以便提高系统的运行效率。此外,内核中的其他子系统也可以参考这些CPU负载值来进行相应的调整,比如DVFS等。目前内核中,有以下几种方式来跟踪CPU负载:1.全局CPU平均负载;2.运行队列CPU负...原创 2020-03-21 21:07:55 · 293 阅读 · 0 评论 -
【原创】(四)Linux进程调度-组调度及带宽控制
1. 概述组调度(task_group)是使用Linux cgroup(control group)的cpu子系统来实现的,可以将进程进行分组,按组来分配CPU资源等。比如,看一个实际的例子:A和B两个用户使用同一台机器,A用户16个进程,B用户2个进程如果按照进程的个数来分配CPU资源,显然A用户会占据大量的CPU时间,这对于B用户是不公平的。组调度就可以解决这个问题,分别将A、B用户...原创 2020-03-21 21:07:39 · 718 阅读 · 0 评论