В связи с вопросом о , что лучше, планировщик CFS или BFS :
Где найти список доступных планировщиков? переключаться между ними?
Вам нужно будет загрузить, патчить и скомпилировать свое собственное ядро, потому что BFS в настоящее время не является частью основного ядра. Основное ядро содержит только один планировщик и не предполагает наличия нескольких планировщиков в одной кодовой базе или даже переключаемых планировщиков «на лету» (это даже то, что можно было бы сделать). Это было бы слишком сложно и не стоило бы усилий.
Итак, чтобы получить BFS в вашей системе:
Преимущество использования BFS по сравнению с CFS очень мало, особенно с новыми версиями ядра. Имейте в виду, что CFS постоянно совершенствуется.
Патч и установка нового ядра с BFS. Вы должны использовать отдельные ядра, нет возможности использовать оба в одном и том же образе ядра (особенно, чтобы переключать их на лету)
Тем не менее, ниже работал для меня на Precise Pangolin (Ubuntu 12.04) YMMV, хотя.
pf-kernel
Наилучшим способом установки BFS на систему Ubuntu сегодня (декабрь 2013 г.), по-видимому, является установка pf-kernel , который в основном является стандартное ядро с кучей исправлений производительности. Эти патчи включают в себя:
Я нашел некоторые инструкции по установке пакетов pf-kernel
для Ubuntu в статье « Повышение производительности Linux Desktop и многое другое с pf-kernel ». Однако эти инструкции несколько устарели, поскольку указывают на отсутствие -существующий источник для соответствующих пакетов Debian. Но я нашел ветку « pf-kernel for Ubuntu » (на форумах pk-kernel
), в которой упоминается, что пакеты Debian можно загрузить с учетной записи Dropbox пользователя форума big_bum .
pf-kernel
Установленная мной машина является старым 32-разрядным ноутбуком, поэтому я начал с загрузки необходимых пакетов linux-headers
и linux-image
в каталог на моей машине под названием [ 118]. [тысяча сто тридцать-семь]
(перейдите к вышеупомянутой учетной записи Dropbox , чтобы найти 64-битные и / или более новые версии этих пакетов.)
После этого я следовал инструкциям « Получите лучшую производительность Linux Desktop и многое другое с 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
blockquote>И
cat /sys/block/sda/queue/scheduler
показывает, что BFQ теперь является текущим планировщиком диска (для дискаsda
):noop deadline cfq [bfq]
Изучив это немного, кажется, есть только два планировщика для 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 Software Center, как описано в ». Что такое PPA и как их использовать ».
Патч устанавливает новое (исправленное) ядро, которое будет отображаться в меню GRUB при загрузке с суффиксом "-ck". Переключайтесь между планировщиками, перезагрузившись и выбрав соответствующее ядро в меню загрузки.
О производительности
В моем случае, на настольном ПК в фоновом режиме выполняется Folding @ Home (восемь потоков F @ H на восьми ядрах). на Intel i7 2600K) BFS значительно лучше: отклик рабочего стола более быстрый (не большая разница, но определенно заметная), в то время как фоновое F @ H-приложение работает на 20-25% быстрее.
В этом сценарии, имея дело с использованием интерактивного рабочего стола и длительными фоновыми задачами, интенсивно загружающими ЦП, одновременно, CFS обычно оставлял одно ядро бездействующим в течение длительных периодов времени. BFS выглядит намного лучше при использовании всех ядер на 100% для фоновых задач, при этом обеспечивая быстрый отклик для задач интерактивного рабочего стола.
Вероятно, не существует единого планировщика, который бы оптимально работал при каждой возможной комбинации нагрузок, но есть случаи, когда BFS лучше.