View previous topic :: View next topic |
Author |
Message |
Erdie Advocate
Joined: 20 May 2004 Posts: 2596 Location: Heidelberg - Germany
|
Posted: Thu Jul 15, 2021 8:26 am Post subject: Kernel configuration - IO schedulers |
|
|
Moin, moin,
bei dem aktuellen Kernel upgrade ist mir aufgefallen, dass ich 2 io scheduler aktiviert habe:
[*] MQ deadline I/o scheduler .. und
[*] Kyber I7O scheduler
die Frage ist, was passiert denn dann? Ich kann ja IMHO nur einen zur Zeit nutzen. Welchen scheduler nutzt ihr?
Danke und Grüße
Erdie _________________ Desktop AMD Ryzen 9 5900X 32GB RAM, Asus GF GTX 1060.
Notebook Tuxedo Pulse 15 Gen1 AMD Ryzen 7 4800H mit Radeon Vega 7
Raspberry Pi 1 + 2 + 3B+ + Zero W |
|
Back to top |
|
|
firefly Watchman
Joined: 31 Oct 2002 Posts: 5232
|
Posted: Thu Jul 15, 2021 9:43 am Post subject: |
|
|
Das hängt vom verwendeten Datenträger ab.
Für SATA-SSDs wird, soweit ich das herausfinden konnte, der mq-deadline scheduler vorgeschlagen.
Bei NVME-SSDS braucht es nicht unbedingt so einen scheduler. Bei meinem system ist keiner (aka none) ausgewählt
der aktuell genutzte scheduler kann man aus folgender datei lesen (und darüber auch setzen)
/sys/block/<device>/queue/scheduler
z.b.
für SATA Devices:
/sys/block/sda/queue/scheduler
für NVME Devices
/sys/block/nvme0n1/queue/scheduler
Zu mindestens für NVME gibt es aus phoronix nen test der verschiedenen IO scheduler (wenn auch nur für kernel 5.6)
https://www.phoronix.com/scan.php?page=article&item=linux-56-nvme _________________ Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn. |
|
Back to top |
|
|
mike155 Advocate
Joined: 17 Sep 2010 Posts: 4438 Location: Frankfurt, Germany
|
Posted: Thu Jul 15, 2021 10:27 am Post subject: |
|
|
@Erdie: schau Dir mal die Ausgabe an von
Code: | grep . /sys/block/*/queue/scheduler |
Bei mir sieht es so aus:
Code: | /sys/block/loop0/queue/scheduler: [mq-deadline] none
...
/sys/block/nvme0n1/queue/scheduler: [none] mq-deadline
/sys/block/sda/queue/scheduler: [mq-deadline] none
/sys/block/zram0/queue/scheduler: none |
Nach dem Pseudo-Dateinamen werden die möglichen Scheduler ausgegeben. Der Wert in eckigen Klammern ist der aktive Scheduler. Bei mir wird also "none" als Scheduler für die NVMe SSD und ZRAM verwendet, und "mq-deadline" für die Loop-Devices und die konventionelle SSD (sda).
Firefly wrote: | Zu mindestens für NVME gibt es aus phoronix nen test der verschiedenen IO scheduler (wenn auch nur für kernel 5.6) |
Ich bin beruhigt, dass auch bei Phoronix "none" als bester Scheduler für NVMe aus dem Rennen geht!
Quote: | Overall though, using "none" as your I/O scheduler option will still generally offer the best performance for speedy NVMe SSD storage with a few exceptions. |
|
|
Back to top |
|
|
Erdie Advocate
Joined: 20 May 2004 Posts: 2596 Location: Heidelberg - Germany
|
Posted: Thu Jul 15, 2021 10:44 am Post subject: |
|
|
Ich habe nur SATA SSDs und bei denen wird überall mq-deadline ausgegeben. Da könnte ich doch glatt den anderen rausschmeissen, wenn der nicht genutzt wird, oder? _________________ Desktop AMD Ryzen 9 5900X 32GB RAM, Asus GF GTX 1060.
Notebook Tuxedo Pulse 15 Gen1 AMD Ryzen 7 4800H mit Radeon Vega 7
Raspberry Pi 1 + 2 + 3B+ + Zero W |
|
Back to top |
|
|
mike155 Advocate
Joined: 17 Sep 2010 Posts: 4438 Location: Frankfurt, Germany
|
Posted: Thu Jul 15, 2021 11:37 am Post subject: |
|
|
... Ja, das könntest Du machen. Ich habe den Kyber I/O-Scheduler auch in meiner Kernel .config deaktiviert.
Andererseits schadet es auch nicht, wenn man ihn im Kernel aktiviert hat. Soweit ich weiß, braucht er nicht viel Platz... |
|
Back to top |
|
|
|