4.6. Red Hat Enterprise Linux-spezifische Information
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.