| Red Hat Enterprise Linux 4: Einführung in die System-Administration | ||
|---|---|---|
| Zurück | Kapitel 4. Physikalischer und virtueller Speicher | Nach vorne |
Aufgrund der Komplexität eines Betriebssystemes mit virtuellem Speicher kann die Kontrolle speicherbezogener Ressourcen unter Red Hat Enterprise Linux etwas verwirrend sein. Deshalb ist es am besten mit den einfacheren Tools zu beginnen und danach darauf aufzubauen.
Mit Hilfe des free-Befehls ist es möglich einen (wenn auch grob vereinfachten) Überblick über Speicher- und Swap-Nutzung zu bekommen. Hier ist ein Beispiel:
total used free shared buffers cached
Mem: 1288720 361448 927272 0 27844 187632
-/+ buffers/cache: 145972 1142748
Swap: 522104 0 522104
|
Wir stellen fest, dass dieses System 1,2GB RAM besitzt, wobei davon lediglich 350MB tatsächlich benutzt werden. Wie erwartet ist die 500MB Swap-Partion nicht in Gebrauch.
Stellen Sie das Beispiel diesem gegenüber:
total used free shared buffers cached
Mem: 255088 246604 8484 0 6492 111320
-/+ buffers/cache: 128792 126296
Swap: 530136 111308 418828
|
Das System besitzt ungefähr 256MB an RAM, wobei der Großteil benutzt wird und dadurch lediglich 8MB frei sind. Über 100MB der 512MB Swap-Partition werden benutzt. Obwohl dieses System mit Sicherheit in Hinsicht auf Speicher mehr eingeschränkt ist als das erste System, müssen wir uns doch etwas näher damit befassen, um genau feststellen zu können, ob diese Speicherlimitation Probleme hinsichtlich des Leistungsverhaltens hervorruft.
Wenn auch etwas kryptischer als free, besitzt der vmstat-Befehl den Vorteil, dass er mehr als nur Speichernutzungs-Statistiken anzeigt. Hier ist der Output des vmstat 1 10-Befehls:
procs memory swap io system cpu
r b w swpd free buff cache si so bi bo in cs us sy id
2 0 0 111304 9728 7036 107204 0 0 6 10 120 24 10 2 89
2 0 0 111304 9728 7036 107204 0 0 0 0 526 1653 96 4 0
1 0 0 111304 9616 7036 107204 0 0 0 0 552 2219 94 5 1
1 0 0 111304 9616 7036 107204 0 0 0 0 624 699 98 2 0
2 0 0 111304 9616 7052 107204 0 0 0 48 603 1466 95 5 0
3 0 0 111304 9620 7052 107204 0 0 0 0 768 932 90 4 6
3 0 0 111304 9440 7076 107360 92 0 244 0 820 1230 85 9 6
2 0 0 111304 9276 7076 107368 0 0 0 0 832 1060 87 6 7
3 0 0 111304 9624 7092 107372 0 0 16 0 813 1655 93 5 2
2 0 2 111304 9624 7108 107372 0 0 0 972 1189 1165 68 9 23
|
Während diesem 10-sekündigen Beispiel variiert die Menge des freien Speichers ein wenig (dasfree-Feld). Ebenso wird etwas swap-bezogener I/O (das si- und so-Feld) angezeigt. Alles in allem läuft das System einwandfrei. Es ist jedoch zweifelhaft mit wieviel zusätzlicher Arbeitslast das System in Anbetracht der bereits bestehenden Speicherauslastung fertig werden könnte.
Wenn Speicher-bezogene Themen untersucht werden, ist es oft notwendig genau festzustellen, inwiefern das virtuelle Speicher Subsystem in Red Hat Enterprise Linux den Systemspeicher nutzt. Mittels dem Befehl sar ist es möglich, diesen Aspekt des System-Leistungsverhaltens in größerem Detail zu untersuchen.
Bei genauer Durchsicht des sar -r-Reports können wir Speicher- und Swap-Nutzung genauer erforschen:
Linux 2.4.20-1.1931.2.231.2.10.ent (pigdog.example.com) 07/22/2003
12:00:01 AM kbmemfree kbmemused %memused kbmemshrd kbbuffers kbcached
12:10:00 AM 240468 1048252 81.34 0 133724 485772
12:20:00 AM 240508 1048212 81.34 0 134172 485600
…
08:40:00 PM 934132 354588 27.51 0 26080 185364
Average: 324346 964374 74.83 0 96072 467559
|
Die kbmemfree- und kbmemused- Felder zeigen die typischen Statistiken zu freiem und benutztem Speicher mit dem jeweiligen Prozentsatz des benutzten Speichers an, welcher im %memused-Feld zu finden ist. Die kbbuffers- und kbcached-Felder zeigen an, wieviele Kilobytes Speicher den Puffern und dem systemweiten Daten-Cache zugeordnet sind.
Das kbmemshrd-Feld ist immer Null für Systeme (wie z.B. Red Hat Enterprise Linux), welche den 2.4 Linux Kernel benutzten.
Die Zeilen dieses Reports wurden abgeschnitten, um ihn auf dieser Seite anzeigen zu können. Hier finden Sie das, was von jeder Zeile übriggeblieben ist, mit hinzugefügter Zeitmarke auf der linken Seite, um das Lesen zu vereinfachen:
12:00:01 AM kbswpfree kbswpused %swpused
12:10:00 AM 522104 0 0.00
12:20:00 AM 522104 0 0.00
…
08:40:00 PM 522104 0 0.00
Average: 522104 0 0.00
|
In Hinsicht auf Swap-Nutzung zeigen die Felder kbswpfree und kbswpused die Menge an freiem und genutztem Swap-Space in Kilobytes an, wobei das %swpused-Feld den Prozentsatz an benutztem Swap-Space anzeigt.
Um mehr über Swapping-Aktivitäten zu lernen, benuzten Sie den sar -W-Report. Hier ist ein Beispiel:
Linux 2.4.20-1.1931.2.231.2.10.entsmp (raptor.example.com) 07/22/2003
12:00:01 AM pswpin/s pswpout/s
12:10:01 AM 0.15 2.56
12:20:00 AM 0.00 0.00
…
03:30:01 PM 0.42 2.56
Average: 0.11 0.37
|
Hier beobachten wir, dass durchschnittlich dreimal sowenig Seiten von Swap hereingepaged wurden (pswpin/s), als umgekehrt (pswpout/s).
Um besser zu verstehen, wie Seiten benutzt werden, siehe dem sar -B-Report:
Linux 2.4.20-1.1931.2.231.2.10.entsmp (raptor.example.com) 07/22/2003
12:00:01 AM pgpgin/s pgpgout/s activepg inadtypg inaclnpg inatarpg
12:10:00 AM 0.03 8.61 195393 20654 30352 49279
12:20:00 AM 0.01 7.51 195385 20655 30336 49275
…
08:40:00 PM 0.00 7.79 71236 1371 6760 15873
Average: 201.54 201.54 169367 18999 35146 44702
|
Hier können wir festlegen, wieviele Blöcke pro Sekunden von der Festplatte hereingepaged werden pgpgin/s) und zur Festplatte hinausgepaged werden (pgpgout/s). Diese Statistiken dienen als Barometer für die allgemeine Aktivität des virtuellen Speichers.
Jedoch kann mehr Wissen erlangt werden, indem die anderen Felder in diesem Report genauer geprüft werden. Der Red Hat Enterprise Linux Kernel kennzeichnet alle Seiten entweder als aktiv oder inaktiv. Wie der Name schon sagt, sind aktive Seiten auf irgendeine Art zu diesem Zeitpunkt in Verwendung (z.B. als Prozess- oder Pufferseiten), während inaktive Seiten nicht in Verwendung sind. Dieser Beispiel-Report zeigt, dass die Liste aktiver Seiten (das activepg-Feld) im Durchschnitt ungefähr 660MB beträgt[1].
Die restlichen Felder in diesem Report konzentrieren sich auf die inaktiveListe— Seiten, welche aus verschiedensten Gründen kürzlich nichtbenutzt worden sind. Das inadtypg-Feldzeigt an, wieviele inaktive Seiten dirty(modifiziert) sind und daher auf Festplatte geschrieben werden müssen. Das inaclnpg-Feld zeigt hingegen an, wieviele inaktive Seiten clean (unmodifiziert) sind und nicht auf die Festplatte geschrieben werden müssen.
Das inatarpg-Feld repräsentiert die gewünschte Größe der inaktiven Liste. Dieser Wert wird vom Linux Kernel kalkuliert und derartig festgelegt, dass die inaktive Liste groß genug bleibt, um als Pool für Seitenaustausch-Zwecke zu dienen.
Für zusätzlichen Einblick in den Seitenstatus (speziell wie oft Seiten den Status wechseln) benutzen Sie den Report sar -R. Hier ist ein Beispiel-Report:
Linux 2.4.20-1.1931.2.231.2.10.entsmp (raptor.example.com) 07/22/2003
12:00:01 AM frmpg/s shmpg/s bufpg/s campg/s
12:10:00 AM -0.10 0.00 0.12 -0.07
12:20:00 AM 0.02 0.00 0.19 -0.07
…
08:50:01 PM -3.19 0.00 0.46 0.81
Average: 0.01 0.00 -0.00 -0.00
|
Die Statistiken in diesem speziellen sar-Report sind einzigartig, was bedeutet, dass diese positiv, negativ oder null sein können. Wenn positiv, gibt der Wert die Rate an, zu der derartige Seiten zunehmen. Wenn negativ, stellt der Wert die Rate dar, zu der Seiten dieser Art abnehmen. Null bedeutet, dass die Anzahl der Seiten dieser Art weder zu- noch abnimmt.
In diesem Beispiel zeigt das letzte Sample, dass geringfügig mehr als 3 Seiten pro Sekunde von der Liste freier Seiten (das frmpg/s-Feld) zugeordnet wurden und beinahe 1 Seite pro Sekunde dem Page-Cache hinzugefügt worden ist (das campg/s-Feld). Zur Liste der als Puffer benutzten Seiten (das bufpg/s-Feld) ist ungefähr alle 2 Sekunden eine Seite dazugekommen, wobei die Liste von Seiten gemeinsam benutzten Speichers (das shmpg/s-Feld) weder Seiten dazubekommen, noch Seiten verloren hat.
| [1] | Die Seitengröße unter Red Hat Enterprise Linux auf dem x86 System beträgt in diesem konkreten Beispiel 4096 Bytes. Systeme, die auf anderen Architekturen basieren, besitzten eventuell andere Seitengrößen. |
| Zurück | Zum Anfang | Nach vorne |
| Schlussfolgerungen zur Leistungsfähigkeit bei der Benutzung von virtuellem Speicher | Nach oben | Zusätzliche Ressourcen |