![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
CPU调度
跟踪Linux中调度相关策略总结
And乔
每天整理一小时
展开
-
CFS之vruntime记录
前言之前学习调度相关内容的时候,对于这个vruntime有一些概念上的理解,但是没有实际跟踪过code,所以总是感觉处于一种似懂非懂的状态,今天share PELT计算过程的时候顺势跟踪了下这部分,于是跟以前了解的概念都串起来了,这里做下简单记录:在CFS中提出vruntime,为保证公平,为task分配相同的份额,即vruntime每次在当前rq上找到runtime最小的执行(红黑树管理);执行后该vruntime值更新,需注意,此处更新并非实际运行时间,而是实际运行时间与weight做完处理后原创 2020-09-04 01:18:48 · 559 阅读 · 0 评论 -
CPU负载均衡之loadavg、pelt、walt涉及到结构体记录
sched 相关结构体记录前言- 目前对于这部分的理解每个CPU对应一个rq队列,用于管理在此CPU上运行的Task;在添加CFS调度算法处理之后,每个rq队列上添加三个队列,用于区分对task不同的处理:RT / DL / CFS在每个CPU上rq中,存在描述Task对象的结构体,即task_struct支持Task group的机制后,将Task抽象为task_entity用于描述Task和Task group基于task_entity 实现每个Task的利用率统计(PELT):添原创 2020-07-21 22:28:35 · 3176 阅读 · 0 评论 -
CPU负载均衡之调度概念理解
前言首先来回答一个问题:为什么需要调度?有很多task,只有一个CPU,大家都想先运行,如果没有管理人员,起冲突怎么办?task是无限的,CPU的能力是有限的,有限的资源无法满足无限的需求的时候?所以所谓调度,就是针对于资源和需求的管理,是一种资源管理工具,设置规则,让所有task根据规则来决定谁先谁后;正文开始前首先show一张图介绍本文内容:1. 概念说明1.1 task什么是task?就是需求者!对于Linux来讲,调度的单位是进程,则需求者的具象化就是进程;进程状态:1.原创 2020-06-28 21:13:16 · 1573 阅读 · 0 评论 -
CPU负载均衡之loadavg计算
本文主要介绍如下内容:1. CPU负载概念说明2. CPU负载数据使用3. CPU负载计算方式以及过程原创 2020-06-26 10:10:12 · 5404 阅读 · 1 评论 -
CPU负载均衡之cpufreq使用
记录:1. cpufreq 使用2. 加大负载方式3. 查看负载方式4. cpufreq 几种governor原创 2020-06-22 20:49:36 · 2742 阅读 · 0 评论 -
CPU负载均衡之WALT学习
前言本文继续整理CPU调度相关内容:WALT(windows assist load tracing)为什么需要WALT?WALT 在处理思路上是怎样的?code 学习;1. 为什么需要WALT ?Linux 调度机制不断发展的过程中,总是考虑一些前瞻性的需求,则WALT的机制相对于PELT来讲有哪些差异?是基于什么需求的考虑在PELT比较稳定的情况下又引进一种新的计算方式?主要原因在于此前Linux设备主要考虑为服务器,更多关注性能,随着移动设备的发展,功耗和响应速度成为不得不考虑的话原创 2020-07-08 00:43:34 · 11344 阅读 · 6 评论 -
CPU负载均衡之PELT
前言记录一个知识点,三个action:PELT 是用来做什么的?PELT 计算方式?code流程?1. PELT概念说明PELT 即 per-entrity load tracing,用来统计各个TASK 实体的负载情况;task 实体即task和task group,task可以等同于进程;1.1 前置概念负载:负载是一个瞬时量,即表示在某一个时间点,runnable状态的task对CPU造成的压力;CPU使用率:是一个累积量,表示一段时间内某个task占用总时间片的比例;则我们原创 2020-07-01 00:03:08 · 2828 阅读 · 2 评论 -
CPU负载均衡之EAS
前言记录一个问题点,三个action;本文主要记录linux 负载均衡策略的发展:EAS 概念说明为什么需要,或者说之前的框架遇到了什么问题,所以才需要新的内容?框架变化即linux中对于TASK调度、负载跟踪和调节的处理;1. EASEAS 即 Energy Aware Scheduling:EAS is an enhancement to Linux power management, placing CPU power control directly under the Lin原创 2020-06-29 21:03:58 · 3895 阅读 · 0 评论