Answers:
您必须下载,修补和编译自己的内核,因为BFS当前不属于主线内核。主线内核仅包含一个调度程序,并不意味着在同一代码库中甚至是即时可切换调度程序都具有多个调度程序(这甚至可以完成)。这简直太复杂了,不值得付出努力。
因此,为了在您的系统上获取BFS:
但是,与CFS相比,运行BFS的好处非常小,尤其是对于较新的内核版本。请记住,CFS正在不断改进。
经过研究后,Linux似乎只有两个调度程序:CFS和BFS。
在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更好。
不过,以下内容适用于我的精确穿山甲(Ubuntu 12.04)YMMV。
pf-kernel
今天(2013年12月)在Ubuntu系统上安装BFS的最好方法似乎是安装pf-kernel,它基本上是一个标准内核,并应用了许多性能补丁。这些补丁包括:
我pf-kernel
在“ 使用pf-kernel获得更好的Linux桌面性能和更多功能 ” 一文中找到了一些有关如何为Ubuntu 安装软件包的说明。但是,这些说明有些过时了,因为它指向相关Debian的不存在资源。包。但是我在论坛上找到了“ 用于Ubuntu的pf-kernel ” 线程(在pk-kernel
论坛上),该线程提到可以从论坛用户big_bum的Dropbox帐户下载Debian软件包。
pf-kernel
我在机器上安装的是旧的32位笔记本电脑,所以我开始通过下载所需要的linux-headers
和linux-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]
使用BFS修补并安装新内核。您必须使用单独的内核,无法在同一内核映像中同时使用这两种内核(尤其是即时将它们共享)