Bezogen auf eine Frage, welche besser ist, den CFS- oder BFS-Scheduler :
Wo finde ich eine Liste der verfügbaren Scheduler?
Und wie wechsle ich zwischen ihnen?
Bezogen auf eine Frage, welche besser ist, den CFS- oder BFS-Scheduler :
Wo finde ich eine Liste der verfügbaren Scheduler?
Und wie wechsle ich zwischen ihnen?
Sie müssen Ihren eigenen Kernel herunterladen, patchen und kompilieren, da BFS derzeit nicht zum Hauptkernel gehört. Der Mainline-Kernel enthält nur einen Scheduler und soll nicht mehrere Scheduler in derselben Codebasis oder sogar on-the-fly umschaltbare Scheduler enthalten. Es wäre einfach zu kompliziert und die Mühe nicht wert.
So erhalten Sie BFS auf Ihrem System:
Der Vorteil der Ausführung von BFS über CFS ist jedoch sehr gering, insbesondere bei neueren Kernelversionen. Denken Sie daran, dass CFS ständig verbessert wird.
Nachdem dies ein wenig untersucht wurde, scheint es nur zwei Scheduler für Linux zu geben: CFS und BFS .
Die einfachste Möglichkeit, BFS in Ubuntu 10.10 zu installieren, ist ein PPA-Patch :
Sie können den Patch auch über das Ubuntu Software Center installieren, wie unter "Was sind PPAs und wie verwende ich sie?" Beschrieben .
Der Patch installiert einen neuen (gepatchten) Kernel, der beim Booten im GRUB-Menü mit dem Suffix "-ck" angezeigt wird. Wechseln Sie zwischen den Schedulern, indem Sie den Rechner neu starten und den entsprechenden Kernel im Boot-Menü auswählen.
Auf Leistung
In meinem Fall läuft Folding @ Home auf einem Desktop-PC im Hintergrund ausgeführt wird (acht F @ H-Threads auf acht Kernen auf einem Intel i7 2600K), ist BFS deutlich besser: Die Desktop-Reaktion ist schneller (kein großer Unterschied, aber auf jeden Fall spürbar). während der Hintergrund F @ H-Anwendung ist 20-25% schneller.
In diesem Szenario ließ CFS bei gleichzeitiger Verwendung interaktiver Desktops und lang andauernden, CPU-lastigen Hintergrundaufgaben einen Kern für längere Zeit im Leerlauf. BFS scheint viel besser darin zu sein, alle Kerne zu 100% für Hintergrundaufgaben zu verwenden und dennoch eine schnelle Antwort für interaktive Desktop-Aufgaben bereitzustellen.
Es gibt wahrscheinlich keinen einzelnen Scheduler, der unter jeder möglichen Kombination von Lasten eine optimale Leistung erbringt, aber es gibt Fälle, in denen BFS besser ist.
quelle
Das Folgende funktionierte jedoch für Precise Pangolin (Ubuntu 12.04) YMMV.
BFS ist Teil von
pf-kernel
Die beste Möglichkeit, BFS heute (Dezember 2013) auf einem Ubuntu-System zu installieren, scheint die Installation des pf-Kernels zu sein , bei dem es sich im Grunde um einen Standard-Kernel mit einer Reihe von angewendeten Leistungs-Patches handelt. Diese Patches beinhalten:
Anweisungen im Web
Ich habe einige Anweisungen zum Installieren der
pf-kernel
Pakete für Ubuntu im Artikel " Bessere Linux-Desktop-Leistung und mehr mit pf-kernel " gefunden. Diese Anweisungen sind jedoch etwas veraltet, da sie auf eine nicht vorhandene Quelle für das relevante Debian verweisen Pakete. Aber ich habe den Thread " pf-kernel for Ubuntu " (impk-kernel
Forum) gefunden, in dem erwähnt wird, dass Debian-Pakete vom Dropbox-Konto des Forumsbenutzers big_bum heruntergeladen werden können .Installieren
pf-kernel
Der Computer, auf dem ich installiert habe, ist ein alter 32-Bit-Laptop. Daher habe ich zunächst die erforderlichen Pakete
linux-headers
undlinux-image
Pakete in ein Verzeichnis auf meinem Computer mit dem Namen heruntergeladen~/kernel
.(Gehen Sie zu dem oben genannten Dropbox-Konto auf, um 64-Bit-Pakete und / oder neuere Versionen dieser Pakete zu finden.)
Danach befolgte ich die Anweisungen unter „ Bessere Linux-Desktop-Leistung und mehr mit pf-kernel “ und führte die folgenden Befehle aus:
Alles scheint reibungslos zu funktionieren, also habe ich neu gestartet.
Überprüfen, ob es funktioniert
Eine kurze Inspektion scheint zu zeigen, dass es funktioniert, z. B. der Befehl
uname -a
meldet, dass ich Folgendes verwendepf-kernel
:Und
cat /sys/block/sda/queue/scheduler
zeigt, dass BFQ jetzt der aktuelle Festplatten-Scheduler ist (für diesda
Festplatte):quelle
Patche und installiere einen neuen Kernel mit BFS. Sie müssen separate Kernel verwenden. Es gibt keine Möglichkeit, beide im selben Kernel-Image zu verwenden (insbesondere, um sie on-the-fly zu verwenden).
quelle