Kapitel 9. Kernel


Zurücksetzen der Kernelparameter SHMMAX und SHMALL auf Standardwerte

In der Vergangenheit waren die Werte der kernel.shmmax- und kernel.shmall-Parameter, die in der /usr/lib/sysctl.d/00-system.conf-Datei eingestellt waren, zu niedrig. Dadurch funktionierten einige Anwendungen wie etwa SAP nicht ordnungsgemäß. Die unpassenden Außerkraftsetzungen wurden entfernt, und es werden nun die ausreichend hohen Kernelstandards verwendet.

Transparente Huge-Pages verursachen keine Fehler beim Arbeitsspeicher mehr

Transparente Huge-Pages wurden während Lese- und Schreibvorgängen nicht ordnungsgemäß synchronisiert. Unter bestimmten Umständen konnte dies zu Fehlern beim Arbeitsspeicher führen, wenn Huge-Pages aktiviert waren. Es wurden bei der Verarbeitung von Huge-Pages Arbeitsspeicherbarrieren hinzugefügt, um sicherzustellen, dass diese Fehler nicht mehr auftreten.

SCSI LIO Überarbeitung

Das SCSI-Kernelziel LIO wurde von Linux-4.0.stable überarbeitet. Dies beinhaltet zahlreiche Fehlerbehebungen, insbesondere für iSER, umfasst aber auch Support für XCOPY-, WRITE SAME- und ATS-Befehle und für DIF-Datenintegrität.

makedumpfile unterstützt jetzt das neue sadump-Format, das bis zu 16 TB an physischem Speicher darstellt

Der makedumpfile-Befehl unterstützt nun das neue sadump-Format, das mehr als 16 TB physischen Speichers darstellen kann. Dies erlaubt es Benutzern von makedumpfile, Dump-Dateien über 16 TB zu lesen, die von sadump auf bestimmten aufkommenden Servermodellen generiert werden.

Beim Entfernen oder dem Upgrade des Kernel wird keine Warnung mehr angezeigt

Das weak-modules-Skript, das von kmod zur Verwaltung von kABI-kompatiblen symbolischen Modul-Links verwendet wird, entfernte in der Vergangenheit das /lib/modules/<version>/weak-updates-Verzeichnis, wenn mit einem Kernel assoziierte Dateien entfernt wurden. Dieses Verzeichnis gehört dem kernel-Paket und dessen Entfernung verursachte eine Inkonsistenz zwischen dem Dateisystem und dem vom rpm erwarteten Status. Dadurch wurde jedes Mal wenn ein Kernel-Upgrade oder eine Kernel-Entfernung durchgeführt wurde, ein Warnhinweis angezeigt.
Das Skript wurde aktualisiert und entfernt nun die Inhalte des weak-updates-Verzeichnisses, belässt aber das Verzeichnis selbst, so dass keine Warnungen mehr gemeldet werden.

Neues Paket: libevdev

Bei Libevdev handelt es sich um eine Bibliothek auf niedriger Ebene für das Linux-Kernel Eingabegerät-Interface. Es liefert sichere Schnittstellen zur Abfrage von Gerätefähigkeiten und Prozessereignissen von Geräten. Aktuelle Versionen von xorg-x11-drv-evdev und xorg-x11-drv-synaptics benötigen diese Bibliothek als Abhängigkeit.

»Tuned« kann jetzt im no-daemon-Modus laufen

In der Vergangenheit konnte »Tuned« nur als Daemon laufen, was wegen der Auswirkungen auf den Arbeitsspeicher die Leistung kleiner Systeme beeinflussen konnte. Mit dieser Aktualisierung wurde »Tuned« ein no-daemon-Modus hinzugefügt, der keinen lokalen Arbeitsspeicher erfordert. Der no-daemon-Modus ist standardmäßig deaktiviert, weil ein Großteil der Funktionalität von »Tuned« in diesem Modus fehlt.

Neues Paket: tuned-profiles-realtime

Das tuned-profiles-realtime-Paket wurde dem Red Hat Enterprise Linux Server und Red Hat Enterprise Linux für Real Time hinzugefügt. Es enthält ein Echtzeitprofil, das vom tuned-Dienstprogramm zur Durchführung von CPU-Isolation und IRQ-Feinabstimmung verwendet wird. Wird das Profil aktiviert, so liest es einen variablen Abschnitt, der die zu isolierenden CPUs festlegt und alle Threads, die verschoben werden können, von diesen CPU-Kernen verschiebt.

Multiqueue I/O-Scheduling mit blk-mq

Red Hat Enterprise Linux 7.2 beinhaltet einen neuen I/O-Scheduling-Mechanismus für mehrere Warteschlangen für als »blk-mq« bekannte Blockgeräte. Es kann die Performance verbessern, indem es bestimmten Gerätetreibern das Mappen von I/O-Anfragen zu mehreren Hardware- oder Software-Warteschlangen gestattet. Die bessere Performance resultiert aus einer Reduktion von Sperrkonflikten, wenn mehrere Threads I/O an einem einzelnen Gerät ausführen. Neuere Geräte, wie etwa Non-Volatile Memory Express (NVMe), nutzen die Vorteile dieses Features am besten, da sie nativen Support für mehrfache Hardware-Eingaben und Ausführungswarteschlangen und deren Performance-Eigenschaften mit geringer Latenz bieten. Die genauen Vorteile im Hinblick auf die Performance hängen wie immer von der genauen Hardware und Arbeitslast ab.
Das blk-mq Feature ist derzeit implementiert und standardmäßig bei den folgenden Treibern aktiviert: virtio-blk, mtip32xx, nvme und rbd.
Das verwandte Feature, scsi-mq, gestattet Small Computer System Interface (SCSI) Gerätetreibern die Verwendung der blk-mq-Infrastruktur. Das scsi-mq-Feature steht in Red Hat Enterprise Linux 7.2 als Technologievorschau zur Verfügung. Um scsi-mq zu aktivieren, legen Sie scsi_mod.use_blk_mq=y in der Kernel-Befehlszeile fest. Der Standardwert ist n (deaktiviert).
Das Device-Mapper (DM) Multipath-Ziel, das anfragenbasierte DM verwendet, kann ebenfalls für die Verwendung der blk-mq-Infrastruktur konfiguriert werden, wenn die dm_mod.use_blk_mq=y-Kerneloption festgelegt ist. Der Standardwert lautet n (deaktiviert).
Es kann von Nutzen sein dm_mod.use_blk_mq=y einzustellen, wenn die zugrundeliegenden SCSI-Geräte ebenfalls blk-mq verwenden, da es den Sperr-Overhead an der DM-Schicht verringert.
Um zu bestimmen, ob DM-Multipath blk-mq auf einem System verwendet, nutzen Sie cat an der Datei /sys/block/dm-X/dm/use_blk_mq, wobei dm-X durch das DM-Multipath-Gerät von Interesse ersetzt wird. Diese Datei ist schreibgeschützt und reflektiert was der allgemeine Wert in /sys/module/dm_mod/parameters/use_blk_mq zu dem Zeitpunkt war, als das DM-Multipath-Gerät erstellt wurde.

SCSI-Fehlermeldungen können jetzt bequem interpretiert werden

Frühere Kerneländerungen an der printk()-Funktion hatten zur Protokollierung von Small Computer System Interface (SCSI) Fehlermeldungen über mehrere Zeilen geführt. Es konnte beim Auftreten mehrerer Fehler über verschiedene Geräte schwierig werden, die Fehlermeldungen korrekt zu deuten. Diese Aktualisierung ändert den SCSI-Fehlerprotokollierungscode, so dass Fehlermeldungen die dev_printk()-Option verwenden, die jede Fehlermeldung mit dem Gerät assoziiert, das den Fehler generiert hat.

libATA-Subsystem und Treiber aktualisiert

Diese Aktualisierung bietet eine Reihe von Fehlerbehebungen und Verbesserungen des libATA-Subsystems und der Treiber.

Upgrade von FCoE und DCB

Fibre Channel over Ethernet (FCoE) und Data Center Bridging (DCB) Kernelkomponenten wurden auf die neuesten Upstream-Versionen aktualisiert, was eine Reihe von Fehlerbehebungen und Verbesserungen gegenüber der vorherigen Version bietet.

perf Überarbeitung auf Version 4.1

Es wurde ein Upgrade der perf-Pakete auf Upstream-Version 4.1 durchgeführt, das eine Reihe von Verbesserungen bei der Performance und Stabilität gegenüber der früheren Version bietet. Insbesondere fügt diese Überarbeitung Intel Cache QoS Monitoring und AMD IBS Ops Features hinzu und liefert Support für Intel Xeon v4, für komprimierte Kernelmodule, für parametrisierte Ereignisse und Support für die Festlegung der Breakpoint-Länge. Außerdem wurden dem perf-Tool eine Reihe von Optionen wie --system-wide, top -z, top -w, trace --filter-pids und trace --event hinzugefügt.

Support für TPM 2.0

Dieses Update fügt Support auf Treiberebene für Version 2.0 konforme Trusted Platform Module (TPM)-Geräte hinzu.

Turbostat liefert jetzt korrekte Ausgabe

In der Vergangenheit fand das turbostat-Tool heraus, ob das System den MSR-Gerätesupport hatte, indem es die /dev/cpu/0/msr-Datei für cpu0 statt cpu las. Dies führte dazu, dass das Deaktivieren einer CPU die CPUs aus der turbostat-Ausgabe löschte. Dieser Fehler wurde behoben, und das Ausführen des turbostat ls-Befehls liefert jetzt die korrekte Ausgabe.

Intel Xeon v5 Prozessor-Support

Diese Verbesserung fügt dem turbostat-Tool Intel Xeon v5 Prozessor-Support hinzu.

Das zswap-Tool nutzt das zpool-API

In der Vergangenheit verwendete das zswap-Tool zbud direkt, einen Speicherpool, der komprimierte Seiten im Verhältnis von 2:1 (wenn voll) speichert. Diese Aktualisierung führt das zpool-API, das Zugriff auf die zbud- oder zsmalloc-Pools liefert: zsmalloc speichert komprimierte Seiten in potenziell höherer Dichte, wodurch mehr Speicher für hoch komprimierbare Seiten verfügbar ist. Diese Aktualisierung überträgt zsmalloc zu den /mm-Treibern, so dass zpool wie vorgesehen funktioniert.

Die /proc/pid/cmdline Dateilänge ist jetzt unbeschränkt

Die Grenze für die Dateilänge von /proc/pid/cmdline für den ps-Befehl war in der Vergangenheit im Kernel auf 4096 Zeichen hartkodiert. Diese Aktualisierung stellt sicher, dass die Länge von /proc/pid/cmdline unbegrenzt ist, was besonders nützlich bei der Auflistung von Prozessen mit langen Befehlszeilenargumenten ist.

Support für dma_rmb und dma_wmb wird jetzt bereitgestellt

Diese Aktualisierung führt zwei neue Typen von Primitiven für das Synchronisieren von Cache-kohärenten Lese- und Schreibvorgängen im Arbeitsspeicher, dma_wmb() und dma_rmb(), ein. Dieses Feature ist zur angemessenen Verwendung in Treibern verfügbar.
Red Hat logoGithubRedditYoutubeTwitter

Lernen

Testen, kaufen und verkaufen

Communitys

Über Red Hat Dokumentation

Wir helfen Red Hat Benutzern, mit unseren Produkten und Diensten innovativ zu sein und ihre Ziele zu erreichen – mit Inhalten, denen sie vertrauen können.

Mehr Inklusion in Open Source

Red Hat hat sich verpflichtet, problematische Sprache in unserem Code, unserer Dokumentation und unseren Web-Eigenschaften zu ersetzen. Weitere Einzelheiten finden Sie in Red Hat Blog.

Über Red Hat

Wir liefern gehärtete Lösungen, die es Unternehmen leichter machen, plattform- und umgebungsübergreifend zu arbeiten, vom zentralen Rechenzentrum bis zum Netzwerkrand.

© 2024 Red Hat, Inc.