SelfLinux Systemverwaltung Elementare Informationen Abschnitt 2 | SelfLinux-0.13.0

| Elementare Informationen | Autoren Formatierung GFDL

#### 2 Informationen über die Speicherbelegung

#### 2.1 free

Von Zeit zu Zeit ist es nützlich, die Speicherbelegung in Augenschein zu nehmen, beispielsweise weil ein Programm nicht genug Speicher bekommt, oder wenn der Systemverwalter sich für die Auslastung des Auslagerungsbereiches interessiert.

user@linux $ free total used free shared buffers cached Mem: 128284(1) 117228(2) 11056(3) 25644(4) 5736(5) 64304(6) -/+ buffers/cache: 47188(7) 81096(8) Swap: 128480(9) 13376(10) 115104(11)

(Die Zahl in Klammern dient lediglich der Erklärng und ist keine Ausgabe von free.)

Diese vielen Zahlen bedeuten:

1. Die gesamte für das System verfügbare Speichermenge. Hier ist der größte Teil von 128 MB verfügbar, weil der vom Kernel belegte Speicherplatz nicht mitgerechnet wird.
2. Die Menge des belegten Speichers.
3. Die Menge des freien Speichers.
4. Die Größe von zwischen Prozessen geteilten Speicherbereichen.
5. Der für verschiedene Arten von Zwischenspeichern (Caches) verwendete Speicher. Der Unterschied ist nicht von Bedeutung, wenn man nicht gerade am Kernel programmiert.
6. siehe 5.
7. Der belegte Speicher nach Abzug aller Zwischenspeicherarten. Diese Speichermenge ist tatsächlich von Programmen belegt.
8. Der freie Speicher nach Abzug aller Zwischenspeicherarten. Dieser Speicher ist noch für Programme verfügbar.
9. Die Gesamtgröße der vorhandenen Auslagerungsbereiche. Hier sind es knapp 128 MB.
10. Der genutzte Teil des Auslagerungsbereiches. Untätige Prozesse werden in den Auslagerungsbereich verschoben, wenn der von ihnen belegte Arbeitsspeicher besser für andere Zwecke verwendet werden kann.
11. Der freie Teil des Auslagerungsbereiches.

Mit den Optionen -b, -k und -m wird der Speicher in Byte, KByte, bzw. in MByte ausgegeben. Als Standard-Einstellung wird KByte verwendet.

Die Option -t (total) gibt zusätzlich noch die Summe der Gesamtgrößen aus.

#### 2.2 df

Eines der häufigsten Probleme beim Betrieb eines Linux-Systems, und noch dazu eines, das sich oft nicht rechtzeitig zu erkennen gibt, ist eine vollgelaufene Festplatte. Heutige Linux-Distributionen enthalten derartige Mengen an Software, dass es überhaupt kein Problem ist, auch eine Fünf- oder mehr Gigabyte-Partition in kürzester Zeit zu füllen.

df zeigt den Belegungszustand jedes eingehängten Dateisystems an.

user@linux $ df Filesystem 1k-blocks Used Available Use% Mounted on /dev/sda2 208820 76912 131908 37% / /dev/sda5 763012 104468 658544 14% /var /dev/sda3 5245048 3128612 2116436 60% /usr /dev/sda1 7988 2404 5184 32% /boot ser1:/home/pinguin 2097286 1305429 686633 66% /home/pinguin

In der ersten Spalte (Filesystem) steht die Bezeichnung des Dateisystems, meistens eine Festplattenpartition. Dahinter steht die Gesamtgröße in Kilobyte (1k-blocks), der belegte Speicher (Used) und der noch vorhandene freie Platz (Available). Außerdem noch der Anteil des belegten Speichers an der Gesamtgröße (Use%) und das Verzeichnis, in das das Dateisystem eingehängt ist (Mounted on).

In der letzten Zeile ist ein Dateisystem zu sehen, auf das über das Netzwerk zugegriffen wird.

Mit der Option -a werden auch Dateisystem angezeigt, die eine Kapazität von 0 Byte haben. Damit sind Dateisysteme gemeint, die im Prinzip keinen Speicherplatz belegen, sondern eine bestimmte Funktionalität zur Verfügung stellen. Ein Beispiel ist das devfs-Dateisystem, welches nur Dateien beinhaltet, die Geräte darstellen.

Wenn man noch zu jedem Dateisystem dem Typ erfahren will, so gibt es dafür noch die Option -T.

Die Option -i zeigt anstelle der Speicherbelegung die Belegung der Inodes an. Unter Linux benötigt jede Datei eine bestimmte Inode-Nummer. Es gibt allerdings immer eine maximale Anzahl an Inode-Nummern pro Dateisystem. Wenn diese Anzahl erreicht ist, kann keine weitere Datei mehr angelegt werden, egal wie viel Speicher noch frei ist.

Wie Sie im Beispiel sehen konnten, sind die Zahlen zum Teil ziemlich unhandlich und somit weniger aussagekräftig. Aus diesem Grund gibt es die Optionen -h, bzw. -H (human-readable). Diese haben die Aufgabe, die Zahlen für den Menschen besser lesbar darzustellen. Der Unterschied zwischen den beiden Optionen besteht darin, dass -h mit einer Potenz von 1024 und -H von 1000 rechnet. Zudem stehen noch die Optionen -k und -m zur Verfügung. Diese geben den Plattenplatz in Kilobyte, bzw. in Megabyte aus. Mit --block-size=n erfolgt die Ausgabe in n-Byte-Blöcken.

#### 2.3 du

Mit Hilfe von du (disk usage) wird der Speicherplatzverbrauch für ein Verzeichnis und dessen Unterverzeichnisse angezeigt. Als Standard-Einstellung wird das aktuelle Arbeitsverzeichnis verwendet.

user@linux $ du ... 120 ./.kde/share/apps/kMail ...

Beim Autor war die Ausgabe von du wesentlich länger. Diese eine Zeile soll exemplarisch betrachtet werden.

Das Beispiel sagt aus, dass das Verzeichnis ./.kde/share/apps/kMail insgesamt 120 Kilobyte belegt (als Standard-Einstellung erfolgt die Ausgabe in Kilobytes). Um die Ausgabe besser lesbar darzustellen, gibt es wie bei df die Optionen -h und -H.

Ebenfalls stehen wie bei df die Optionen -k und -m für eine Ausgabe in Kilo- bzw. Megabyte zur Verfügung. Hinzu kommt noch die Option -b für Byte.

Um nur die Gesamtsumme, die ein bestimmtes Verzeichnis belegt, zu erfahren, verwendet man die Option -s.

user@linux $ du -s 40248 .

Auf den ersten Blick mag diese Ausgabe ein wenig ungewohnt erscheinen, haben wir doch erwartet, dass alle Verzeichnisse im aktuellem Verzeichnis ausgegeben werden. Bei genauerer Betrachtung ist die Ausgabe aber durchaus logisch. Als Standard-Einstellung wird das aktuelle Arbeitsverzeichnis genommen und das ist nun mal ./".

Will man alle Unterverzeichnisse aufgelistet haben, so muss der Befehl du -s * lauten.

Um zusätzlich noch den belegten Speicher für jede Datei auszugeben, gibt es die Optionen -a, bzw. --all.

Die Option -c gibt am Ende noch die Gesamtsumme aus.