Пов'язане з питанням про те, що краще, планувальник CFS або BFS :
Де я можу знайти список яких планувальників?
І як я перемикаюся між ними?
Пов'язане з питанням про те, що краще, планувальник CFS або BFS :
Де я можу знайти список яких планувальників?
І як я перемикаюся між ними?
Відповіді:
Вам доведеться завантажувати, виправляти та компілювати власне ядро, оскільки BFS наразі не є частиною основного ядра. Ядро основної лінії містить лише один планувальник і не призначене для того, щоб мати кілька планувальників в одній і тій же кодовій базі або навіть перехідні планувальники, що перемикаються (це навіть щось, що можливо зробити). Це було б просто надто складно, і не варто докладати зусиль.
Отже, щоб отримати BFS у вашій системі:
Перевага від запуску BFS над CFS дуже мала, особливо це стосується новіших версій ядра. Майте на увазі, що CFS постійно вдосконалюється.
Трохи вивчивши це, здається, що для 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, як описано в "Що таке PPA і як я ними користуюся" .
Патч встановлює нове (виправлене) ядро, яке з’явиться в меню GRUB під час завантаження із суфіксом «-ck». Перемикайтеся між планувальниками, перезавантажившись і вибравши відповідне ядро в меню завантаження.
По продуктивності
У моєму випадку, запускаючи Folding @ Home у фоновому режимі на настільному ПК (вісім потоків F @ H на восьми ядрах на Intel i7 2600K), BFS значно кращий: Відповідь робочого столу швидше (не велика різниця, але, безумовно, помітна) тоді як фонове додаток F @ H швидше на 20-25%.
У цьому сценарії, працюючи з використанням інтерактивного робочого столу та довготривалими фоновими завданнями CPU одночасно, CFS прагнув залишати одне ядро в режимі очікування протягом тривалого часу. BFS виявляється набагато кращим у використанні всіх ядер на 100% для фонових завдань, одночасно забезпечуючи швидку відповідь на інтерактивні завдання на робочому столі.
Напевно, немає єдиного планувальника, який би працював оптимально при будь-якій можливій комбінації навантажень, але є випадки, коли BFS краще.
Наведене нижче працювало для мене на Precision Pangolin (Ubuntu 12.04) YMMV.
pf-kernel
Найкращим способом встановити BFS в системі Ubuntu сьогодні (грудень 2013 р.), Здається, є встановлення pf-ядра , яке в основному є стандартним ядром, що застосовується безліч патчів продуктивності. Ці патчі включають:
Я знайшов деякі вказівки щодо встановлення pf-kernel
пакетів для Ubuntu у статті " Покращуйте продуктивність Linux та більше за допомогою pf-ядра ". Однак ці інструкції дещо застаріли, оскільки вказують на неіснуюче джерело відповідного Debian пакети. Але я знайшов тему « pf-ядро для Ubuntu » (на pk-kernel
форумах), в якій згадується, що пакети Debian можна завантажити з облікового запису Dropbox користувача форуму big_bum .
pf-kernel
Машина, яку я встановив, - це старий 32-розрядний ноутбук, тому я почав завантажувати необхідні linux-headers
та linux-image
пакунки в каталог на своїй машині під назвою ~/kernel
.
(Перейдіть до вищевказаного облікового запису Dropbox, щоб знайти 64 бітові та / або новіші версії цих пакетів.)
Згодом я дотримувався вказівок " Покращуйте ефективність робочого столу Linux та більше за допомогою pf-ядра " та виконую наступні команди:
$ cd ~/kernel
$ sudo dpkg -i *.deb
Начебто все працює безперебійно, тому я перезавантажився.
Швидкий огляд, схоже, вказує на те, що він працює, наприклад, команда uname -a
повідомляє, що я використовую pf-kernel
:
Linux siobhan 3.12.2-pf + # 6 SMP PREEMPT пн 2 грудня 19:09:52 EET 2013 i686 i686 i386 GNU / Linux
І cat /sys/block/sda/queue/scheduler
показує, що BFQ зараз - це поточний дисковий планувальник (для sda
диска):
noop deadline cfq [bfq]
Патч і встановлення нового ядра з BFS. Вам доведеться використовувати окремі ядра, не можна використовувати обидва в одному і тому ж зображенні ядра (особливо для того, щоб їх переводити на ходу)