AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 28892
Accepted
j-g-faustus
j-g-faustus
Asked: 2011-03-04 10:04:04 +0800 CST2011-03-04 10:04:04 +0800 CST 2011-03-04 10:04:04 +0800 CST

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

  • 772

与CFS 或 BFS 调度程序哪个更好的问题相关:

在哪里可以找到可用调度程序的列表?

以及如何在它们之间切换?

10.10
  • 4 4 个回答
  • 12061 Views

4 个回答

  • Voted
  1. j-g-faustus
    2011-03-20T01:47:30+08:002011-03-20T01:47:30+08:00

    经过一番研究,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
    

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

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


    关于性能

    在我的例子中,在桌面 PC 的后台运行Folding@Home(英特尔 i7 2600K 上的八个内核上的八个 F@H 线程),BFS 明显更好:桌面响应更快(差别不大,但绝对明显)而后台 F@H 应用程序的速度要快 20-25%。

    在这种情况下,同时处理交互式桌面使用和长时间运行的 CPU 繁重的后台任务,CFS 倾向于一次让一个内核长时间空闲。BFS 在将所有内核 100% 用于后台任务方面似乎要好得多,同时仍为交互式桌面任务提供快速响应。

    可能没有单个调度程序可以在每种可能的负载组合下都以最佳方式执行,但在某些情况下 BFS 更好。

    • 9
  2. Best Answer
    Cedric
    2011-03-07T08:16:06+08:002011-03-07T08:16:06+08:00

    您必须下载、修补和编译您自己的内核,因为 BFS 目前不是主线内核的一部分。主线内核只包含一个调度器,并不意味着在同一个代码库中有多个调度器,或者甚至是即时可切换的调度器(这甚至是可以做到的)。这太复杂了,不值得努力。

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

    • 获取内核:http ://www.kernel.org
    • 为您的内核版本获取最新的 BFS 补丁:http: //ck.kolivas.org/patches/bfs/
    • 打补丁,编译,然后引导你的新内核。

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

    • 7
  3. zrajm
    2013-12-19T19:16:09+08:002013-12-19T19:16:09+08:00

    不过,以下内容在 Precise Pangolin (Ubuntu 12.04) YMMV 上为我工作。

    BFS 是pf-kernel

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

    • BFS(CPU 调度程序在 CPU 内核少于 16 个的机器上提供低延迟)
    • BFQ(I/O 磁盘调度程序针对重负载下的低延迟进行了优化)
    • TuxOnIce(更快的休眠)

    网络说明

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

    安装pf-kernel

    我安装的机器是一台旧的 32 位笔记本电脑,所以我首先将所需的linux-headers和linux-image软件包下载到我机器上名为~/kernel.

    • linux-headers-3.12.2-pf+_3.12.2-pf+-10.00.Custom_i386.deb
    • linux-image-3.12.2-pf+_3.12.2-pf+-10.00.Custom_i386.deb

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

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

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

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

    检查它是否有效

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

    Linux siobhan 3.12.2-pf+ #6 SMP PREEMPT Mon Dec 2 19:09:52 EET 2013 i686 i686 i386 GNU/Linux

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

    noop deadline cfq [bfq] 
    
    • 3
  4. user11924
    2011-03-07T07:53:42+08:002011-03-07T07:53:42+08:00

    使用 BFS 修补并安装新内核。您必须使用单独的内核,没有办法在同一个内核映像中使用两者(尤其是在运行时切换它们)

    • 1

相关问题

  • GTK 改进何时会在 Maverick 上落地?

  • 目前是否有计划在“Maverick Meerkat”10.10 中用 Banshee 替换 Rhythmbox?

  • 什么是 btrfs?它有哪些高级功能?

  • 为什么在 Ubuntu 10.10 中 F-Spot 被 Shotwell 取代?

  • Haskell 平台会在 10.10 中可用吗?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    我需要什么命令来解压缩/提取 .tar.gz 文件?

    • 8 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Marko Smith

    如何使用命令行将用户添加为新的 sudoer?

    • 7 个回答
  • Marko Smith

    更改文件夹权限和所有权

    • 9 个回答
  • Martin Hope
    EmmyS 我需要什么命令来解压缩/提取 .tar.gz 文件? 2011-02-09 14:50:41 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve