Wer nicht fragt…

Mein Rechner kommt mir so langsam vor – gibt's da Diagnosemöglichkeiten?

Dr. Linux: Ihr Linuxsystem bringt natürlich einige Programme mit, die Ihnen bei der Analyse Ihres Systems echte Hilfe bieten. Vorstellen möchte ich Ihnen vmstat ("virtual memory statistics"). Auf der Kommandozeile aufgerufen produziert es etwa folgende Ausgabe:

procs                      memory    swap          io     system         cpu
  r  b  w   swpd   free   buff  cache  si  so    bi    bo   in    cs  us  sy  id
  0  0  0    212   4936   3104  23556   0   0     3     0  128   266   2   0  98

Diesen Zahlen- und Abkürzungswirrwarr entschlüsseln Sie wie folgt:

  • r ("run"): Je höher die Zahl, die Sie hier vorfinden, desto langsamer ist Ihr System. Hier wird angezeigt, wieviele Prozesse laufen würden, wenn sie nicht auf Rechenzeit warten müssten.
  • b ("block"): Prozesse, die hier angezeigt werden, warten auf bestimmte Ereignisse, um den Programmablauf fortsetzen zu können, nicht jedoch auf Rechenzeit.
  • w: Die Zahl an dieser Stelle zeigt Ihnen die Anzahl aller Prozesse, die z.Z. in den Swap-Bereich ausgelagert sind.
  • swpd gibt den aktuell benutzten Swap-Speicher in Kilobyte an.
  • free zeigt, wieviel Kilobyte RAM-Speicher gerade ungenutzt sind.
  • buff zeigt die Größe der Speicherbereiche, in denen die Ein-/Ausgabe-Puffer liegen; die Einheit ist ebenfalls Kilobyte. Werden Daten produziert, so wird nicht für jedes Zeichen bzw. jeden Block ein Transfer auf die Festplatte vorgenommen. Alle Ein-/Ausgaben landen zunächst in einem Pufferbereich. Wird z.B. durch Lesen einer Datei versucht, auf einen Block innerhalb der Datei zuzugreifen, so schaut das Betriebssystem nach, ob der gesuchte Block schon im Puffer vorhanden ist. Wenn ja, wird er geladen und danach dem Programm zur Verfügung gestellt, das ihn angefordert hat.
  • Unter cache erfährt man in Kilobyte, wieviel eingebauter Festplattencache momentan zur Verfügung steht.
  • si ("swap in") und so ("swap out") zeigen an, wieviel Kilobyte Daten pro Sekunde vom Swap-Bereich auf der Festplatte in den Hauptspeicher geladen bzw. vom RAM auf die Platte ausgelagert wurden.
  • bi ("block in") und bo ("block out") deutet z.B. auf Festplattenaktivitäten hin, da hier die Anzahl der Blöcke pro Sekunde angezeigt wird, die an Block-Geräte geschickt bzw. von solchen empfangen wurden. Block-Geräte sind zum Beispiel Floppies und Festplatten.
  • in zeigt die Anzahl der Unterbrechungen pro Sekunde, die durch Hardware-Anforderungen entstehen; die sogenannten Interrupts.
  • cs ("context switch") zeigt, wie oft pro Sekunde von einem Programm zum nächsten umgeschaltet wird (Multitasking).
  • us gibt wieder, wieviel der genutzten Prozessorzeit prozentual von Anwendungsprogrammen verbraucht wird, während
  • sy die vom System genutzte Prozessorzeit anzeigt.
  • id ist die ungenutzte Prozessorzeit, wiederum in Prozent.

Eine id-Zahl im zweistelligen Bereich und gleichzeitige krasse Aktivitäten in si und so können erste Hinweise auf zu wenig Hauptspeicher sein. Die hohe Zahl unverbrauchter Prozessorzeit bedeutet in so einem Fall, dass das System häufig auf Festplattenzugriff warten muss. Bestätigen lässt sich dies, wenn swpd hoch ist, free,buff und cache hingegen relativ niedrig bleiben. Bewegen sich id, si und so ständig nahe bei Null, sind dies ernsthafte Hinweise auf einen zu lahmen Prozessor.

Um Problemen auf die Spur zu kommen, veranlassen Sie vmstat während dessen, periodische Meldungen zu produzieren. Allerdings müssen Sie hier u.U. Geduld beweisen, wenn sich sowieso schon alles so lahm bewegt wie eine Schildkröte im Winter.

Das folgende Beispiel zeigt eine vmstat-Ausgabe mit sechs Wiederholungen (zweite Ziffer) im Sekundentakt (erste Ziffer):

user$ vmstat -n 1 6
    procs                      memory    swap          io     system         cpu
  r  b  w   swpd   free   buff  cache  si  so    bi    bo   in    cs  us  sy  id
  1  0  0    208   1556   2616  20736   0   0     3     0  130   265   2   0  97
  2  0  0    208   1552   2616  20552   0   0   230     0 2019  2358  36  16  48
  0  0  1    208   1544   2616  18868   0   0    91     0  830  2607  41  19  40
  0  0  0    208   1544   2616  18868   0   0     0     0  102   208   0   1  99
  1  0  0    208   1500   2616  18912   0   0    11     0  358   734   0   5  95
  0  1  0    208   2336   2616  19188   0   0    69    60 1150   727  10   5  85

Wer nicht gleich in der Manpage stöbern will, bekommt mit vmstat x eine Kurzanleitung für den Gebrauch dieses nützlichen Tools.

Platz ist in der kleinsten Hütte

Ich habe beim Aufspielen meines Linuxsystems offenbar eine zu kleine Swappartition angelegt. Kann ich den Swapspeicher auch ohne Umpartitionierung aufrüsten?

Dr. Linux: Als temporäre Lösung bietet sich hier eine – ggf. von Windows her bekannte – Swapdatei an. Linux kennt zwei Möglichkeiten der Datenauslagerung aus dem RAM auf die Festplatte:

  • Beim Installieren Ihres System haben Sie unweigerlich die Swappartition kennen gelernt. Das ist die erste und schnellere Möglichkeit.
  • Seltener genutzt wird die Swapdatei. Sie arbeitet langsamer als eine Swappartition. Linux kann bis zu 16 Swapbereiche gleichzeitig verwalten, daher lassen sich Swapdateien bei Bedarf einfach "dazu schalten".

Das Anlegen und Anmelden einer Swapdatei wird vom Superuser auf der Kommandozeile erledigt. Ersteres geschieht mit dem Befehl

root# dd if=/dev/zero of=Dateiname bs=1024 count=Dateigrösse_in_Kilobyte

Er kopiert die Datei /dev/zero in den angegebenen Dateinamen. Als Dateigröße tragen Sie einen Wert zwischen 40 und 131073 Kilobyte ein. Die Angabe 131073 legt eine rund 128 Megabyte große Datei an, das ist der Höchstwert für Swapspeicher. Die kleinste verwaltbare Menge von 40 Kilobyte ist zum Anlegen eines Swapbereichs nicht gerade sinnvoll.

Durch den Befehl

root# mkswap Dateiname Dateigrösse_in_Kilobyte

erhält die Datei eine Swap-Kennzeichung. Erst dann lässt sich die Datei als Auslagerungsspeicher nutzen. Sie können sich diesen Vorgang vorstellen wie das Einrichten eines Dateisystems mit dem Befehl mkfs.

Bevor Sie die neue Datei im System anmelden, stellen Sie sicher, dass nur der Superuser Lese- und Schreibrecht darauf hat. Sonst wird Ihr System die falschen Rechte bemängeln bzw. mit Fehlermeldungen den Zugriff auf den neuen Swapbereich verweigern. Im Zweifelsfall legen Sie mit chmod 0600 Dateiname die korrekten Berechtigungen fest.

Zuletzt melden Sie den neuen Speicher mit dem Befehl

root# swapon Dateiname

beim System an. Ab sofort steht Ihnen der Swapspeicher zur Verfügung.

In Listing 1 sehen Sie die Rückmeldungen, die Linux produziert, während Sie eine Swapdatei erstellen. Zwischen den Befehlen zum Erstellen der Datei wird hier noch der Befehl sync abgesetzt. Dieser stellt sicher, dass alles auf die Festplatte geschrieben wird, bevor das nächste Kommando weitere Aktionen ausführt. Mit

root# swapoff Dateiname

melden Sie den zusätzlichen Swapspeicher beim System wieder ab, wenn Sie ihn nicht mehr benötigen.

Listing 1

Erstellen und Anmelden einer Swapdatei unter Linux

root@maxi:/ # dd if=/dev/zero of=swapdatei bs=1024 count=131073
 131073+0 Records ein
 131073+0 Records aus
 root@maxi:/ # sync
 root@maxi:/ # mkswap swapdatei 131073
 Auslagerungsbereich Version 1 mit einer Größe von 134213632 Bytes wird angelegt.
 root@maxi:/ # sync
 root@maxi:/ # chmod 0600 swapdatei
 root@maxi:/ # swapon -v swapdatei
 swapon für swapdatei

Glossar

mount

Mit diesem Kommando geschieht das Einbinden von Datenträgern (z.B. Festplattenpartitionen und CDs) in das Linux-Dateisystem. Dies ist normalerweise root vorbehalten. Ehe man eine gemountete CD oder Diskette wieder aus dem Laufwerk entnehmen kann, ist ein umount-Befehl zwingend nötig. Auch Festplattenpartitionen lassen sich so dem Zugriff unter Linux wieder entziehen.

Dateisysteme

Die Art und Weise, wie Daten auf einem Datenträger organisiert werden, unterscheidet sich für verschiedene Betriebssysteme und unterschiedliche Speichermedien. Beispielsweise ist unter Windows 9x in der Regel eine Erweiterung des DOS-Dateisystems FAT namens VFAT im Einsatz, während Linux seine Daten-Partitionen gern im ext2-Filesystem vorliegen hat. Auf Daten-CDs kommt hingegen iso9660 zum Einsatz.

Kilobyte

Speicher ist in Speicherzellen unterteilt, die entweder den Wert 0 oder 1 enthalten. Eine solche Speicherzelle bzw. die in ihr gespeicherte Information heißt Bit. Mehrere Bits können in Einheiten wie Byte, Wort oder Langwort zusammengefasst werden: Ein Byte beispielsweise entspricht acht Bit. Dies reicht aus, um einen (lateinischen) Buchstaben zu speichern. Das Wort "Platz" braucht demnach fünf Byte Speicherplatz. Eine Seite Text enthält ca. 1500 Zeichen und benötigt daher unformatiert ca. 1500 Byte zum Speichern. Ein Kilobyte (kB, kByte) entspricht übrigens nicht 1000, sondern 1024 Byte. Ein Kilobyte mal einem Kilobyte ergibt ein Megabyte (MB, MByte), das sind genau 1 048 576 Byte. Ein Gigabyte (GByte), also ein Kilobyte malgenommen mit einem Kilobyte mal einem Kilobyte, sind sehr viele Byte, nämlich 1 073 741 824.

/etc/fstab

Diese Konfigurationsdatei wird vom Programm mount benutzt, um beim Systemstart Festplatten(partitionen) u.a. Datenträger ins Dateisystem einzuhängen und Informationen für spätere Mount-Aktionen vorzuhalten. Die ersten vier Spalten in der Datei sind die interessantesten: Die erste gibt das einzubindende Gerät an, die zweite den Mountpoint, die dritte die Art des auf dem Datenträger verwendeten Dateisystems. Die mount-Optionen stehen in der vierten Spalte. Das folgende Beispiel hängt das Wurzel-Dateisystem auf der ersten Partition der ersten SCSI-Festplatte automatisch beim Booten ein, das ATAPI-(IDE-)CDROM hingegen (noauto) nicht. Allerdings haben normale Anwender später dank der Option user die Möglichkeit, mit dem Befehl mount /cdrom eine eingelegte Daten-CD nur lesbar ("read only") unter /cdrom zugänglich zu machen.

Mountpoint

Das Verzeichnis, unter dem die Dateien eines Datenträgers "eingehängt" werden, damit man auf sie unter Linux u.a. Unixbetriebssystemen zugreifen kann.

/dev/zero

Der Inhalt des Zero-Geräts besteht, wie der Name schon andeutet, aus (unendlich) vielen Nullen. Alles, was in diese Spezialdatei geschrieben wird, wird gelöscht.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

  • Zu Befehl
    Mit einem schnellen Internetzugang steigt bei vielen Anwendern die Download-Rate und damit zwangsläufig der Speicherverbrauch auf der eigenen Harddisk. Auch auf der Kommandozeile gibt es Programme, mit denen Sie Ihren Festplattenplatz schnell und sicher verwalten können. In dieser "Zu Befehl"-Folge geht es um Dateisysteme, um Dateien und ihre Anordnung und Eigenschaften – und um die Programme df und du. Begeben Sie sich in die Tiefen des Filesystems und finden Sie heraus, welche Dateien den Speicher vertilgen!
  • Dr. Linux
    Mit dem Erscheinen neuer Linux-Distributionen häuft sich in den Newsgroups die Frage: "Was bedeutet eigentlich char-major-[1…255]?" Die Antwort auf diese und andere Fragen gibt der folgende Artikel.
  • resize_reiserfs
    Nach der Installation stellen Sie oft fest, dass das Installationsprogramm die gesamte Distribution auf eine einzige Root-Partition installiert hat. Diese Anleitung beschreibt, wie Sie eine ReiserFS-Partition verkleinern, um Platz für neue zu gewinnen.
  • USB- und Firewire-Laufwerke im Test
    Wird der Speicherplatz knapp, bieten externe USB- oder Firewire-Festplatten eine bequeme Möglichkeit zur Erweiterung. Wir testen neun typische Vertreter dieser Gattung.
  • Festplatten und Dateisysteme
    Wer heute mit einem handelsüblichen Computer arbeitet, verwendet automatisch auch eine Festplatte. Wie die Dateien dort gespeichert werden und welche Möglichkeiten dabei geboten werden, weiß hingegen kaum jemand. Dieser Artikel will etwas Licht ins Dunkel bringen.
Kommentare
Sinn?
fragender (unangemeldet), Mittwoch, 15. Dezember 2010 10:45:29
Ein/Ausklappen

Warum bitte werden auf der Startseite Artikel verlinkt, die (fast) 10 Jahre auf dem Buckel haben? Was ist die Intention dahinter? Für mich macht das keinen Sinn, da könnte auch der Kicker auf der Startseite unseren WM-Titel von 1990 feiern, das ist alles gefühlte Äonen her.


Bewertung: 166 Punkte bei 15 Stimmen.
Den Beitrag bewerten: Gut / Schlecht

Infos zur Publikation

LU 12/2014: ANONYM & SICHER

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Ubuntu 14.10 und VirtualBox
Ubuntu 14.10 und VirtualBox
Tim Schürmann, 08.11.2014 18:45, 0 Kommentare

Wer Ubuntu 14.10 in einer virtuellen Maschine unter VirtualBox startet, der landet unter Umständen in einem Fenster mit Grafikmüll. Zu einem korrekt ...

Aktuelle Fragen

Nach Ubdates alles weg ...
Maria Hänel, 15.11.2014 17:23, 4 Antworten
Ich brauche dringen eure Hilfe . Ich habe am wochenende ein paar Ubdates durch mein Notebook von...
Brother Drucker MFC-7420
helmut berger, 11.11.2014 12:40, 1 Antworten
Hallo, ich habe einen Drucker, brother MFC-7420. Bin erst seit einigen Tagen ubuntu 14.04-Nutzer...
Treiber für Drucker brother MFC-7420
helmut berger, 10.11.2014 16:05, 2 Antworten
Hallo, ich habe einen Drucker, brother MFC-7420. Bin erst seit einigen Tagen ubuntu12.14-Nutzer u...
Can't find X includes.
Roland Welcker, 05.11.2014 14:39, 1 Antworten
Diese Meldung erhalte ich beim Versuch, kdar zu installieren. OpenSuse 12.3. Gruß an alle Linuxf...
DVDs über einen geeigneten DLNA-Server schauen
GoaSkin , 03.11.2014 17:19, 0 Antworten
Mein DVD-Player wird fast nie genutzt. Darum möchte ich ihn eigentlich gerne abbauen. Dennoch wür...