44、现代模块化 CPU 调度器的工作原理与 CFS 算法解析

现代模块化 CPU 调度器的工作原理与 CFS 算法解析

1. 性能监控脚本

在性能监控方面,Brendan Gregg 提供了一系列非常有用的脚本,这些脚本在使用 perf 监控生产 Linux 系统时能完成许多繁重的工作。你可以在 https://github.com/brendangregg/perf-tools 查看这些脚本,部分发行版将它们作为名为 perf-tools[-unstable] 的软件包包含在内。你可以尝试使用这些替代方案(包括 perf-tools[-unstable] 软件包)。以下是两个示例函数:

function c0()
{
    ps -eLF | awk '{ if($5==0) print $0}'
}
function c1()
{
    ps -eLF | awk '{ if($5==1) print $0}'
}
2. 模块化调度类的理解

Ingo Molnar 等人在 2007 年 10 月发布 2.6.23 内核时,重新设计了内核调度器的内部结构,引入了调度类的新方法。在核心调度代码 schedule() 函数下引入了一层抽象,这一层被称为调度类,其设计是模块化的。这里的模块化意味着调度类可以从内联内核代码中添加或删除,与可加载内核模块(LKM)框架无关。

核心调度代码(由

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值