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.
Verwendung von Multi-Gen LRU (MGLRU) auf 023-Kerneln AL2
Das Multi-Gen LRU
Der herkömmliche LRU-Mechanismus verwendet ein Modell mit zwei Listen (aktiv und inaktiv), um die Seitennutzung zu verfolgen, was bei modernen Workloads mit großen Arbeitsgruppen ineffizient werden kann. MGLRU ersetzt dies durch mehrere „Generationen“ von Seiten, sodass der Kernel intelligentere Entscheidungen auf der Grundlage detaillierterer Alterungsinformationen treffen kann.
Zu den Vorteilen von MGLRU gehören:
-
Bessere Entscheidungen zur Rückforderung: Genauere Identifizierung von kalten (ungenutzten) Seiten.
-
Geringere Latenz und verbesserter Durchsatz: Insbesondere für Workloads mit großen Adressräumen oder vielen gleichzeitigen Prozessen.
-
Verbesserte Cache-Aufbewahrung: Bei Seiten, die kürzlich verwendet wurden, ist die Wahrscheinlichkeit geringer, dass sie vorzeitig gelöscht werden.
-
Skalierbares und sperreneffizientes Design: Bessere Leistung auf Computern mit vielen Geräten. CPUs
Konfiguration und Tuning
Die Kernel-Konfiguration CONFIG_LRU_GEN
ist auf AL2 023-Kerneln aktiviert. Dies kompiliert in MGLRU, aktiviert es aber nicht standardmäßig.
MGLRU kann mithilfe der Datei aktiviert und eingestellt werden. /sys/kernel/mm/lru_gen/enabled
Der Wert ist eine Bitmaske. Es wird empfohlen, alle Komponenten zu aktivieren, sofern nicht einige von ihnen unerwünschte Nebenwirkungen haben.
Bit | Komponenten |
---|---|
0 |
Der Hauptschalter für die Multi-Gen-LRU. |
1 |
Löschen des Bits, auf das zugegriffen wurde, in großen Stapeln in Blatttabelleneinträgen, wenn MMU es setzt (z. B. auf x86). Dieses Verhalten kann theoretisch den Lockkonflikt () verschlimmern. mmap_lock Wenn es deaktiviert ist, erleidet die Multi-Gen-LRU eine geringfügige Leistungseinbuße bei Workloads, die Hotpages zusammenhängend zuordnen, deren abgerufene Bits andernfalls durch weniger größere Batches gelöscht werden können. |
2 |
Das Bit, auf das zugegriffen wurde, wird auch in Einträgen in Seitentabellen gelöscht, wenn MMU es festlegt (z. B. auf x86). Dieses Verhalten wurde bei anderen x86-Varianten als Intel und AMD nicht verifiziert. Wenn es deaktiviert ist, erleidet die Multi-Gen-LRU eine vernachlässigbare Leistungseinbuße. |
[yYnN] |
Enable/disable alle oben genannten Komponenten. |
Ein Beispiel dafür, wie MGLRU aktiviert werden kann:
[ec2-user ~]$
echo y >/sys/kernel/mm/lru_gen/enabled
Dadurch werden alle Komponenten aktiviert:
[ec2-user ~]$
cat /sys/kernel/mm/lru_gen/enabled
0x0007