如何在CFS和BFS调度程序之间切换?


Answers:


7

您必须下载,修补和编译自己的内核,因为BFS当前不属于主线内核。主线内核仅包含一个调度程序,并不意味着在同一代码库中甚至是即时可切换调度程序都具有多个调度程序(这甚至可以完成)。这简直太复杂了,不值得付出努力。

因此,为了在您的系统上获取BFS:

但是,与CFS相比,运行BFS的好处非常小,尤其是对于较新的内核版本。请记住,CFS正在不断改进。


我用BFS补丁编译了4.0.5内核,但未列出调度程序。BFS已在make menuconfig中启用。我不明白为什么。
shantanu

9

经过研究后,Linux似乎只有两个调度程序:CFSBFS

在Ubuntu 10.10中安装BFS的最简单方法是PPA补丁

sudo add-apt-repository ppa:chogydan/ppa 
sudo apt-get update
sudo apt-get install linux-image-generic-ck linux-headers-generic-ck

您还可以按照“什么是PPA以及如何使用它们”中所述使用Ubuntu软件中心安装补丁。

该修补程序将安装一个新的(已修补的)内核,该内核将在启动时显示在GRUB菜单中,后缀为“ -ck”。通过重新引导并在引导菜单中选择适当的内核,在调度程序之间切换。


表现上

以我为例,在台式PC上在后台运行Folding @ Home(在Intel i7 2600K的八个内核上有八个F @ H线程),BFS明显更好:台式机响应更迅速(差异不大,但绝对引人注目)而后台F @ H应用程序的速度提高了20-25%。

在这种情况下,CFS会同时处理交互式桌面使用和长时间运行的占用大量CPU的后台任务,因此往往会使一个核心长时间处于空闲状态。BFS在将所有内核100%用于后台任务的同时看起来仍要好得多,同时仍然可以为交互式桌面任务提供快速响应。

可能没有单个调度程序在每种可能的负载组合下都能达到最佳性能,但是在某些情况下BFS更好。


3

不过,以下内容适用于我的精确穿山甲(Ubuntu 12.04)YMMV。

BFS是 pf-kernel

今天(2013年12月)在Ubuntu系统上安装BFS的最好方法似乎是安装pf-kernel,它基本上是一个标准内核,并应用了许多性能补丁。这些补丁包括:

  • BFS(CPU调度程序可在少于16个CPU内核的计算机上提供低延迟)
  • BFQ(为在重负载下实现低延迟而优化的I / O磁盘调度程序)
  • TuxOnIce(更快的休眠方式)

网络上的说明

pf-kernel在“ 使用pf-kernel获得更好的Linux桌面性能和更多功能 ” 一文中找到了一些有关如何为Ubuntu 安装软件包的说明。但是,这些说明有些过时了,因为它指向相关Debian的不存在资源。包。但是我在论坛上找到了“ 用于Ubuntu的pf-kernel ” 线程(在pk-kernel论坛上),该线程提到可以从论坛用户big_bum的Dropbox帐户下载Debian软件包。

正在安装 pf-kernel

我在机器上安装的是旧的32位笔记本电脑,所以我开始通过下载所需要的linux-headerslinux-image包装成我的机器上的一个目录叫~/kernel

(转到上面提到的Dropbox帐户以找到这些软件包的64位和/或更高版本。)

此后,我按照“ 使用pf-kernel获得更好的Linux桌面性能和更多内容”中的说明进行了以下命令:

$ cd ~/kernel
$ sudo dpkg -i *.deb

一切似乎都能顺利进行,所以我重新启动了。

检查是否有效

快速检查似乎表明它有效,例如,该命令uname -a报告我正在使用pf-kernel

Linux siobhan 3.12.2-pf +#6 SMP PREEMPT周一12月2日19:09:52 EET 2013 i686 i686 i386 GNU / Linux

cat /sys/block/sda/queue/scheduler显示BFQ现在是当前磁盘调度程序(用于sda磁盘):

noop deadline cfq [bfq] 

2014年11月-我在运行Mythbuntu的Precise Pangolin(Ubuntu 12.04.4 LTS)上安装了这个pf内核,主要是为了从xfs文件系统中获得更好的I / O来进行视频录制。我匹配了内核版本(3.13)以确保nvidia默认驱动程序兼容性。它工作顺利。感谢zrjm ... ..!
keepitsimpleengineer 2014年

1

使用BFS修补并安装新内核。您必须使用单独的内核,无法在同一内核映像中同时使用这两种内核(尤其是即时将它们共享)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.