Как я могу переключаться между планировщиками CFS и BFS?

В связи с вопросом о

17 голосов | спросил j-g-faustus 3 MarpmThu, 03 Mar 2011 21:04:04 +03002011-03-03T21:04:04+03:0009 2011, 21:04:04

4 ответа


7

Вам придется загружать, патч и компилировать собственное ядро, потому что BFS в настоящее время не является частью ядра mainline. Ядро mainline содержит только один планировщик и не предназначено для того, чтобы иметь несколько планировщиков в одной и той же базе данных или даже переключаемые планировщики «на лету» (это даже то, что можно было бы сделать). Это было бы просто слишком сложно и не стоило усилий.

Итак, чтобы получить BFS в вашей системе:

Преимущество использования BFS по сравнению с CFS очень мало, особенно с более новыми версиями ядра. Имейте в виду, что CFS постоянно совершенствуется.

ответил Cedric 6 MarpmSun, 06 Mar 2011 19:16:06 +03002011-03-06T19:16:06+03:0007 2011, 19:16:06
9

Изучив это немного, похоже, для Linux есть только два планировщика: CFS и BFS .

Самый простой способ установить BFS в Ubuntu 10.10 - это патч 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, как описано в " Что такое PPAs и как их использовать ".

Патч устанавливает новое (исправленное) ядро, которое будет отображаться в меню GRUB при загрузке с суффиксом «-ck». Переключение между планировщиками путем перезагрузки и выбор соответствующего ядра в меню загрузки.


В режиме производительности

В моем случае запустите Folding @ Home в фоновом режиме на настольном ПК (восемь потоков F @ H на восьми ядрах на Intel i7 2600K), BFS значительно лучше: ответ рабочего стола более быстрый (не большая разница, но определенно заметно), в то время как фоновое приложение F @ H на 20-25% быстрее.

В этом случае, имея дело с интерактивным использованием настольных компьютеров и многолетними задачами с центральным процессором одновременно, CFS, как правило, оставлял один основной простоя в течение длительного времени за раз. BFS выглядит намного лучше при использовании всех ядер на 100% для фоновых задач, сохраняя при этом быстрый отклик для задач интерактивного рабочего стола.

Вероятно, нет единого планировщика, который будет оптимально работать при любой возможной комбинации нагрузок, но бывают случаи, когда BFS лучше.

ответил j-g-faustus 19 MarpmSat, 19 Mar 2011 12:47:30 +03002011-03-19T12:47:30+03:0012 2011, 12:47:30
3

Ниже я работал для меня на Precise Pangolin (Ubuntu 12.04) YMMV.

BFS является частью pf-kernel

Лучший способ установить BFS в системе Ubuntu сегодня (декабрь 2013 года), похоже, заключается в установке pf-kernel , который представляет собой стандартное ядро ​​с множеством патчей производительности. Эти патчи включают в себя:

  • BFS (планировщик процессора обеспечивает низкую задержку на машинах с менее чем 16 ядрами процессора)
  • BFQ (планировщик дисков I /O оптимизирован для низкой латентности при тяжелых нагрузках)
  • TuxOnIce (более быстрая гибернация)

Инструкции в Интернете

Я нашел несколько инструкций о том, как установить пакеты pf-kernel для Ubuntu в статье «« Повысьте производительность рабочего стола Linux и многое другое с помощью pf-kernel ». - Однако эти инструкции несколько устаревший, поскольку он указывает на несуществующий источник для соответствующих пакетов Debian. Но я нашел поток « pf-kernel для Ubuntu » (на pk-kernel), в котором упоминается, что пакеты Debian можно загрузить с пользовательский аккаунт пользователя big_bum .

Установка pf-kernel

Аппарат, на котором я установлен, - это старый 32-разрядный ноутбук, поэтому я начал с загрузки требуемого linux-headers и linux-image в каталог на моем компьютере под названием ~/kernel.

(Перейдите к вышеупомянутой учетной записи Dropbox , чтобы найти 64-разрядные и /или более новые версии этих пакетов.)

После этого я выполнил инструкции на Get Better Linux Desktop Performance и многое другое с pf-kernel "и выполнили следующие команды:

$ 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] 
ответил zrajm 19 ThuEurope/Moscow2013-12-19T07:16:09+04:00Europe/Moscow12bEurope/MoscowThu, 19 Dec 2013 07:16:09 +0400 2013, 07:16:09
1

Запустите и установите новое ядро ​​с BFS. Вы должны использовать ядра sepatare, нет возможности использовать оба изображения одного и того же ядра (особенно для их быстрого перемещения на лету).

ответил 6 MarpmSun, 06 Mar 2011 18:53:42 +03002011-03-06T18:53:42+03:0006 2011, 18:53:42

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132