

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# I/O Scheduler für AL2
<a name="io-scheduler"></a>

Der I/O Scheduler ist ein Teil des Linux-Betriebssystems, der I/O Anfragen sortiert und zusammenführt und die Reihenfolge bestimmt, in der sie verarbeitet werden.

I/O Scheduler sind besonders vorteilhaft für Geräte wie magnetische Festplatten, bei denen Suchzeit teuer sein kann und bei denen es optimal ist, Anfragen an einem Ort zusammenzuführen. I/O Scheduler haben bei Solid-State-Geräten und virtualisierten Umgebungen weniger Wirkung. Dies liegt daran, dass sich der sequentielle und zufällige Zugriff bei Solid-State-Geräten nicht unterscheiden und der Host für virtualisierte Umgebungen eine eigene Planungsebene bereitstellt.

In diesem Thema wird der Amazon I/O Linux-Scheduler behandelt. Weitere Informationen zum I/O Scheduler, der von anderen Linux-Distributionen verwendet wird, finden Sie in der jeweiligen Dokumentation.

**Topics**
+ [Unterstützte Scheduler](#supported-schedulers)
+ [Standard-Scheduler](#default-schedulers)
+ [Ändern des Schedulers](#change-scheduler)

## Unterstützte Scheduler
<a name="supported-schedulers"></a>

Amazon Linux unterstützt die folgenden I/O Scheduler:
+ `deadline`— Der *Deadline* I/O Scheduler sortiert I/O Anfragen und bearbeitet sie in der effizientesten Reihenfolge. Es garantiert eine Startzeit für jede I/O Anfrage. Außerdem erhalten I/O Anfragen, die zu lange anhängig waren, eine höhere Priorität.
+ `cfq`— Der *Completely Fair Queueing* (CFQ) I/O -Scheduler versucht, Ressourcen fair zwischen Prozessen zuzuweisen I/O. Er sortiert I/O Anfragen und fügt sie in prozessspezifische Warteschlangen ein.
+ `noop`— Der *No Operation* (Noop) I/O -Scheduler fügt alle I/O Anfragen in eine FIFO-Warteschlange ein und führt sie dann zu einer einzigen Anfrage zusammen. Dieser Scheduler führt keine Anforderungssortierung durch.

## Standard-Scheduler
<a name="default-schedulers"></a>

No Operation (noop) ist der I/O Standard-Scheduler für Amazon Linux. Dieser Scheduler wird aus folgenden Gründen verwendet:
+ Viele Instance-Typen verwenden virtualisierte Geräte, bei denen der zugrunde liegende Host die Planung für die Instance durchführt.
+ Solid-State-Geräte werden in vielen Instance-Typen verwendet, bei denen die Vorteile eines I/O Schedulers weniger wirksam sind.
+ Es ist der am wenigsten invasive I/O Scheduler und kann bei Bedarf angepasst werden.

## Ändern des Schedulers
<a name="change-scheduler"></a>

Eine Änderung des I/O Schedulers kann die Leistung erhöhen oder verringern, je nachdem, ob der Scheduler dazu führt, dass mehr oder weniger I/O Anfragen in einer bestimmten Zeit abgeschlossen werden. Dies hängt weitgehend von Ihrer Workload, der Generierung des verwendeten Instance-Typs und dem Gerätetyp. Wenn Sie den verwendeten I/O Scheduler ändern, empfehlen wir Ihnen, ein Tool wie **iotop** zu verwenden, um die I/O Leistung zu messen und festzustellen, ob die Änderung für Ihren Anwendungsfall von Vorteil ist.

Sie können den I/O Scheduler für ein Gerät mithilfe des folgenden Befehls anzeigen, der `nvme0n1` als Beispiel dient. Ersetzen Sie `nvme0n1` im folgenden Befehl mit dem Gerät in `/sys/block` Ihrer Instance.

```
$  cat /sys/block/{{nvme0n1}}/queue/scheduler
```

Verwenden Sie den folgenden Befehl, um den I/O Scheduler für das Gerät einzurichten. 

```
$  echo {{cfq|deadline|noop}} > /sys/block/{{nvme0n1}}/queue/scheduler
```

Verwenden Sie beispielsweise den folgenden Befehl, um den I/O Scheduler für ein {{xvda}} Gerät von `noop` bis `cfq` einzustellen. 

```
$  echo {{cfq}} > /sys/block/{{xvda}}/queue/scheduler
```