UPD DAMON, Data Access Monitoring FW
This commit is contained in:
Binary file not shown.
@@ -4075,7 +4075,7 @@ indem sie Seitenfehler bei der Speicherzuweisung beschleunigt, die Anzahl der tl
|
||||
Durchlaufen der Seitentabelle beschleunigt.
|
||||
Wenn der Speicher bei eingebetteten Systemen begrenzt ist, können Sie N angeben.
|
||||
|
||||
\subsubsection{Transparent Hugepage Support sysfs defaults}
|
||||
\subsubsection{Transparent Hugepage Support sysfs defaults () \texorpdfstring{$\rightarrow$}{->}}
|
||||
Wählt die sysfs-Vorgaben für die transparente Hugepage-Unterstützung aus.
|
||||
|
||||
\paragraph{always}$~$\\
|
||||
@@ -4083,6 +4083,18 @@ CONFIG\_TRANSPARENT\_HUGEPAGE\_ALWAYS [=y] \textbf{[Y]}\\
|
||||
Die ständige Aktivierung von Transparent Hugepage kann den Speicherbedarf von Anwendungen erhöhen, ohne dass
|
||||
dies einen garantierten Nutzen hat, aber es funktioniert automatisch für alle Anwendungen.
|
||||
|
||||
\paragraph{madvise}$~$\\
|
||||
CONFIG\_TRANSPARENT\_HUGEPAGE\_MADVISE [=n] \textbf{[N]}\\
|
||||
Die Aktivierung von Transparent Hugepage madvise bringt nur eine Leistungsverbesserung für die Anwendungen, die
|
||||
madvise(MADV\_HUGEPAGE) verwenden, aber es besteht nicht die Gefahr, dass der Speicherbedarf von Anwendungen
|
||||
ohne garantierten Nutzen erhöht wird.
|
||||
|
||||
\subsubsection{Read-only THP for filesystems (EXPERIMENTAL)}
|
||||
CONFIG\_READ\_ONLY\_THP\_FOR\_FS [=y] \textbf{[Y]}\\
|
||||
Erlaubt khugepaged, schreibgeschützte Seiten in THP zu speichern. Dies ist als experimentell gekennzeichnet, da
|
||||
es sich um eine neue Funktion handelt. Schreibunterstützung für Datei-THPs wird in den nächsten Release-Zyklen
|
||||
entwickelt werden.
|
||||
|
||||
\subsection{Contiguous Memory Allocator}
|
||||
CONFIG\_CMA [=y] \textbf{[Y]}\\
|
||||
Dadurch wird der Contiguous Memory Allocator aktiviert, der es anderen Subsystemen ermöglicht, große, physisch
|
||||
@@ -4091,10 +4103,134 @@ beweglicher Seiten aus diesem Bereich. Auf diese Weise kann der Kernel den Speic
|
||||
und wenn ein Subsystem einen zusammenhängenden Bereich anfordert, werden die zugewiesenen Seiten verschoben,
|
||||
um die zusammenhängende Anforderung zu bedienen. Wenn Sie unsicher sind, sagen Sie N für nein.
|
||||
|
||||
\subsubsection{CMS debug messages (DEVELOPMENT)}
|
||||
\subsubsection{CMA debug messages (DEVELOPMENT)}
|
||||
CONFIG\_CMA\_DEBUG [=n] \textbf{[N]}\\
|
||||
Schaltet Debug-Meldungen in CMA ein. Dies erzeugt KERN\_DEBUG-Meldungen für jeden CMA-Aufruf sowie verschiedene
|
||||
Meldungen während der Verarbeitung von Aufrufen wie dma\_alloc\_from\_contiguous(). Diese Option hat keinen
|
||||
Einfluss auf Warn- und Fehlermeldungen.
|
||||
|
||||
\subsubsection{CMA debugfs interface}
|
||||
CONFIG\_CMA\_DEBUGFS [=y] \textbf{[Y]}\\
|
||||
Schaltet die DebugFS-Schnittstelle für CMA ein.
|
||||
|
||||
\subsubsection{CMA information through sysfs interface}
|
||||
CONFIG\_CMA\_SYSFS [=y] \textbf{[Y]}\\
|
||||
Diese Option legt einige sysfs-Attribute offen, um Informationen von CMA zu erhalten.
|
||||
|
||||
\subsubsection{Maximum count of the CMA areas}
|
||||
CONFIG\_CMA\_AREAS [=7] \textbf{[7]}\\
|
||||
CMA ermöglicht es, CMA-Bereiche für bestimmte Zwecke zu erstellen, die hauptsächlich als privater Bereich des
|
||||
Geräts verwendet werden. Mit diesem Parameter wird die maximale Anzahl von CMA-Bereichen im System festgelegt.
|
||||
Wenn Sie unsicher sind, belassen Sie den Standardwert \glqq 7\grqq{} bei UMA und
|
||||
\glqq 19\grqq{} bei NUMA.
|
||||
|
||||
\subsection{Track memory changes}
|
||||
CONFIG\_MEM\_SOFT\_DIRTY [=y] \textbf{[Y]}\\
|
||||
Diese Option ermöglicht die Verfolgung von Speicheränderungen durch Einführung eines Soft-Dirty-Bits auf
|
||||
pte-s. Dieses Bit wird gesetzt, wenn jemand in eine Seite schreibt, genau wie das reguläre Dirty Bit, aber
|
||||
im Gegensatz zu letzterem kann es von Hand gelöscht werden. Siehe Documentation/admin-guide/mm/soft-dirty.rst
|
||||
für weitere Details.
|
||||
|
||||
\subsection{Defer initialisation of struct pages to kthreads}
|
||||
CONFIG\_DEFERRED\_STRUCT\_PAGE\_INIT [=n] \textbf{[N]}\\
|
||||
Normalerweise werden alle Strukturseiten beim Frühstart in einem einzigen Thread initialisiert. Auf sehr
|
||||
großen Rechnern kann dies sehr viel Zeit in Anspruch nehmen. Wenn diese Option gesetzt ist, wird bei großen
|
||||
Maschinen eine Teilmenge der memmap beim Booten aufgerufen und der Rest parallel initialisiert. Dies kann
|
||||
sich auf die Leistung von Aufgaben auswirken, die zu Beginn der Lebensdauer des Systems ausgeführt werden,
|
||||
bis diese kthreads die Initialisierung abgeschlossen haben.
|
||||
|
||||
\subsection{Enable idle page tracking}
|
||||
CONFIG\_IDLE\_PAGE\_TRACKING [=y] \textbf{[Y]}\\
|
||||
Diese Funktion ermöglicht es, die Anzahl der Benutzerseiten zu schätzen, die in einem bestimmten Zeitraum
|
||||
nicht berührt wurden. Diese Information kann nützlich sein, um die Grenzen der Speichergruppen und/oder die
|
||||
Platzierung von Aufträgen innerhalb eines Rechenclusters zu optimieren.\\
|
||||
Siehe Documentation/admin-guide/mm/idle\_page\_tracking.rst für weitere Einzelheiten.
|
||||
|
||||
\subsection{Device memory (pmem, HMM, etc...) hotplug support}
|
||||
CONFIG\_ZONE\_DEVICE [=y] \textbf{[Y]}\\
|
||||
Die Hotplug-Unterstützung für Gerätespeicher ermöglicht es, pmem oder andere vom Gerätetreiber entdeckte
|
||||
Speicherregionen in der Memmap zu etablieren. Dies ermöglicht pfn\_to\_page()-Lookups von ansonsten
|
||||
\glqq gerätephysikalischen\grqq{} Adressen, was unter anderem für die Verwendung einer DAX-Zuordnung
|
||||
in einer O\_DIRECT-Operation erforderlich ist. Wenn FS\_DAX aktiviert ist, dann sagen Sie Y.
|
||||
|
||||
\subsection{Unaddressable device memory (GPU memory, ...)}
|
||||
CONFIG\_DEVICE\_PRIVATE [=y] \textbf{[Y]}\\
|
||||
Ermöglicht die Erstellung von Strukturseiten zur Darstellung von nicht adressierbarem Gerätespeicher,
|
||||
d.~h. Speicher, auf den nur vom Gerät (oder einer Gruppe von Geräten) aus zugegriffen werden kann.
|
||||
Wahrscheinlich sollten Sie auch HMM\_MIRROR auswählen.
|
||||
|
||||
\subsection{Collect percpu memory statistics}
|
||||
CONFIG\_PERCPU\_STATS [=n] \textbf{[N]}\\
|
||||
Diese Funktion sammelt Statistiken und stellt sie über debugfs zur Verfügung. Die Informationen umfassen
|
||||
globale und pro Chunk-Statistiken, die dazu beitragen können, die Speichernutzung der CPU zu verstehen.
|
||||
|
||||
\subsection{Enable infrastructure for get\_user\_pages()-related unit tests}
|
||||
CONFIG\_GUP\_TEST [=n] \textbf{[N]}\\
|
||||
Stellt /sys/kernel/debug/gup\_test zur Verfügung, das wiederum eine Möglichkeit bietet, ioctl-Aufrufe zu
|
||||
machen, die kernelbasierte Unit-Tests für die get\_user\_pages*()- und pin\_user\_pages*()-Familie von
|
||||
API-Aufrufen starten können. Diese Tests umfassen Benchmark-Tests für die schnellen Varianten von
|
||||
get\_user\_pages*() und pin\_user\_pages*() sowie Smoke-Tests für die nicht schnellen Varianten.
|
||||
Es gibt auch einen Untertest, der die Ausführung von dump\_page() auf bis zu acht Seiten
|
||||
(ausgewählt durch Befehlszeilen-Args) innerhalb des Bereichs der User-Space-Adressen ermöglicht.
|
||||
Diese Seiten werden entweder über pin\_user\_pages*() oder über get\_user\_pages*() angeheftet, wie durch
|
||||
andere Befehlszeilenargumente angegeben.\\
|
||||
Siehe tools/testing/selftests/mm/gup\_test.c
|
||||
|
||||
% 13.23
|
||||
\subsection{Enable a module to run time tests on dma\_pool}
|
||||
CONFIG\_DMAPOOL\_TEST [=n] \textbf{[N]}\\
|
||||
Stellt ein Testmodul zur Verfügung, das viele Blöcke unterschiedlicher Größe alloziert und freigibt und
|
||||
berichtet, wie lange es dauert. Damit soll ein konsistenter Weg gefunden werden, um zu messen, wie sich
|
||||
Änderungen an den dma\_pool\_alloc/free-Routinen auf die Leistung auswirken.
|
||||
|
||||
\subsection{Anonymous VMS name support}
|
||||
CONFIG\_ANON\_VMA\_NAME [=y] \textbf{[Y]}\\
|
||||
Erlaubt die Benennung anonymer virtueller Speicherbereiche. Mit dieser Funktion können virtuellen
|
||||
Speicherbereichen Namen zugewiesen werden.\\
|
||||
Die zugewiesenen Namen können später aus /proc/pid/maps und
|
||||
/proc/pid/smaps abgerufen werden und helfen bei der Identifizierung einzelner anonymer Speicherbereiche.
|
||||
Die Zuweisung eines Namens für einen anonymen virtuellen Speicherbereich kann verhindern, dass dieser
|
||||
Bereich aufgrund des unterschiedlichen Namens mit benachbarten virtuellen Speicherbereichen zusammengelegt
|
||||
wird.
|
||||
|
||||
\subsection{Enable userfaultfd() system call}
|
||||
CONFIG\_USERFAULTFD [=y] \textbf{[Y]}\\
|
||||
Aktivieren Sie den Systemaufruf userfaultfd(), der das Abfangen und Behandeln von Seitenfehlern im
|
||||
Userland ermöglicht.
|
||||
|
||||
\subsection{Userfaultfd write protection support for shmem/hugetlbfs}
|
||||
CONFIG\_PTE\_MARKER\_UFFD\_WP [=y] \textbf{[Y]}\\
|
||||
Ermöglicht die Erstellung von Marker-PTEs für den Userfaultfd-Schreibschutz.
|
||||
Sie ist erforderlich, um den userfaultfd-Schreibschutz für dateigebundene Speichertypen wie shmem
|
||||
und hugetlbfs zu aktivieren.
|
||||
|
||||
\subsection{Multi-Gen LRU}
|
||||
CONFIG\_LRU\_GEN [=y] \textbf{[Y]}\\
|
||||
Eine hochleistungsfähige LRU-Implementierung zur Überbelegung von Speicher.\\
|
||||
Siehe Documentation/admin-guide/mm/multigen\_lru.rst für Details.
|
||||
|
||||
\subsubsection{Enable by default}
|
||||
CONFIG\_LRU\_GEN\_ENABLED [=y] \textbf{[Y]}\\
|
||||
Mit dieser Option wird das Multi-Gen-LRU standardmäßig aktiviert.
|
||||
|
||||
\subsubsection{Full stats for debugging}
|
||||
CONFIG\_LRU\_GEN\_STATS [=n] \textbf{[N]}\\
|
||||
Aktivieren Sie diese Option nicht, es sei denn, Sie möchten sich die historischen Statistiken der
|
||||
ausgeschiedenen Generationen zu Fehlersuchzwecken ansehen.
|
||||
Diese Option hat einen Speicher-Overhead pro memcg und pro Knoten.
|
||||
|
||||
\subsection{Data Access Monitoring \texorpdfstring{$\rightarrow$}{->}}
|
||||
(Überwachung des Datenzugriffs)
|
||||
|
||||
\subsubsection{DAMON: Data Access Monitoring Framework}
|
||||
CONFIG\_DAMON [=y] \textbf{[Y]}\\
|
||||
Damit wird ein Rahmen geschaffen, der es den Kernel-Subsystemen ermöglicht, die Zugriffshäufigkeit der
|
||||
einzelnen Speicherbereiche zu überwachen. Diese Informationen können für eine leistungsorientierte
|
||||
Speicherverwaltung auf DRAM-Ebene nützlich sein.
|
||||
Weitere Informationen finden Sie unter\\
|
||||
\url{https://damonitor.github.io/doc/html/latest-damon/index.html}.
|
||||
|
||||
|
||||
|
||||
|
||||
\end{document}
|
||||
|
||||
Reference in New Issue
Block a user