Bitte beachten Sie, dass diese Frage nur für spezifisch ist linux
. Und damit swap space
meine ich die engagierten swap partition
.
Ich habe google
ein bisschen darüber nachgedacht und Folgendes gefunden definitions
:
Paging refers to writing portions, termed pages, of a process’ memory to disk.
Swapping, strictly speaking, refers to writing the entire process, not just part, to disk.
In Linux, true swapping is exceedingly rare, but the terms paging and swapping
often are used interchangeably.
und
page-out: The system's free memory is less than a threshold "lotsfree" and unnused / least used pages are moved to the swap area.
page-in: One process which is running requested for a page that is not in the current memory (page-fault), it's pages are being brought back to memory.
swap-out: System is thrashing and has deactivated a process and it's memory pages are moved into the swap area.
swap-in: A deactivated process is back to work and it's pages are being brought into the memory.
Jetzt möchten Sie diese Frage möglicherweise mit denjenigen duplizieren, die nach Unterschieden zwischen Paging und Swapping fragen. Aber ich suche ein bisschen mehr. Schließen sich diese Zähler zu irgendeinem Zeitpunkt /proc/vmstat
gegenseitig aus? Damit meine ich, enthält der Parameter pswpin
einige Zählungen von pgpgin
oder umgekehrt? Was genau passiert, wenn ein Prozess ist deactivated
? Wenn alle Seiten in den swap
Weltraum verschoben werden, wie genau unterscheidet es sich dann von mehreren pageouts
? pagein
Was kann man über die beiden anderen Parameter pgmajfault
und pgfault
in Bezug auf dieses Ereignis sagen , wenn a auftritt, wenn ein Seitenfehler auftritt ? Ist es der Fall, dass immer dann, wenn ein pagefault (major? minor?)
auftritt, auch ein entsprechender pagein
auftritt?
Es wäre hilfreich, wenn einige Beispielprogramme / Benchmarks vorgeschlagen würden, um diese einzelnen Parameter zu testen.
PS: Ich kann die Fragen weiterhin hinzufügen / bearbeiten :)
quelle
Antworten:
quelle
/proc/vmstat
sind nicht pro Sekunde, sondern seit dem letzten Start insgesamt (siehe linuxinsight.com/proc_vmstat.html ). Wenn Sie Ratenwerte über eine bestimmte Zeiteinheit hinweg wünschen, müssen Sie die Differenz zwischen den/proc/vmstat
Werten berücksichtigen - genau das, was Dienstprogramme mögenvmstat
undsar
für Sie tun können.Für die neuesten Linux-Kernel pgpgin - Anzahl der Kilobyte, die das System pro Sekunde von der Festplatte eingelagert hat. pgpgout - Anzahl der Kilobyte, die das System pro Sekunde auf die Festplatte ausgelagert hat.
pswpin - Anzahl der Seiten, die das System pro Sekunde von der Festplatte ausgetauscht hat. pswpout - Anzahl der Seiten, die das System pro Sekunde auf die Festplatte ausgelagert hat.
Pgpgin und pgpgout zeigen im Wesentlichen die IO-Aktivität an.
Wie in der E-Mail angegeben
quelle
/proc/vmstat
sind nicht pro Sekunde, sondern seit dem letzten Start insgesamt (siehe linuxinsight.com/proc_vmstat.html ). Wenn Sie Ratenwerte über eine bestimmte Zeiteinheit hinweg wünschen, müssen Sie die Differenz zwischen den/proc/vmstat
Werten berücksichtigen - genau das, was Dienstprogramme mögenvmstat
undsar
für Sie tun können.So alte Frage und bisher keine richtige Antwort.
Zunächst wird der Speicher nach CPU und Kernel in sogenannte Seiten unterteilt. Die Seitengröße wird durch die Architektur der CPU angegeben. Viele Architekturen unterstützen mehrere verschiedene Seitengrößen, aber die gängigste Seitengröße in der x86_64-Architektur hat eine Größe von 4 KB. Diese Parameter, über die Sie sprechen, zeigen an, wie viele Speicherseiten entweder auf die Festplatte gelesen / geschrieben wurden und wie viele davon ausgetauscht werden.
Beachten Sie, dass Page In eine normale Aktivität im Linux-Kernel ist. Sie tritt fast jedes Mal auf, wenn Sie eine Binärdatei von der Festplatte (die nicht zwischengespeichert ist) in den Betriebsspeicher laden - also jedes Mal, wenn Sie eine Anwendung starten.
Da Pgin- und Pgout-Operationen nicht immer etwas sind, über das Sie sich Sorgen machen müssen, wurden zusätzliche Zähler erstellt, die nur Informationen für den Swap enthalten - das sind die pswpin- und pswpout-Zähler. Sie werden erhöht, wenn eine Speicherseite entweder in den Swap geschrieben oder aus dieser gelesen wird Tauschen.
Wiederum - dies weist auch nicht auf ein Problem hin, sondern nur auf ein Problem unter bestimmten Umständen - beispielsweise wenn sich diese Zahlen in kurzer Zeit stark ändern (normalerweise, wenn Ihr System nicht über genügend Speicher verfügt).
Also auf den Punkt gebracht:
quelle