Aus Linux-Magazin 05/2015

Aus dem Alltag eines Sysadmin: Pmap und Lshw

Abbildung 1: Pmap dröselt fast aufs Byte genau auf, wie viel Speicher sich ein Apache-Prozess und die ihm nachgeordnete Software greifen.

Heute geht es um zwei praktische Tools, die zwar die meisten Linuxe serienmäßig installiert haben, die aber trotzdem kaum einer kennt: Pmap und Lshw. Das eine analysiert detailliert den RAM-Bedarf von Programmen, das andere erfasst die Hardware-Ausstattung des Rechners genauer, als wenn man ihn zerlegt.

Pmap zeigt den Speicherbedarf eines Prozesses Komponente für Komponente an. Denn viele Programme rufen ihrerseits viele Bibliotheken sowie externe Software auf. Bei einem Speicherleck hilft Pmap den Schuldigen dingfest machen. Meist reicht es, »pmap« als Parameter die Prozess-ID zu übergeben.

Abbildung 1 zeigt die (gekürzte) Pmap-Ausgabe eines Apache-Prozesses. Die erste Spalte listet die Speicheradresse, die zweite, sie ist die wichtigste, zeigt den RAM-Bedarf der Software in KBytes. Beim Verdacht auf ein Speicherleck behalte ich die Werte im Auge und sehe recht schnell, ob und wo einer der Werte aus dem Ruder läuft.

Abbildung 1: Pmap dröselt fast aufs Byte genau auf, wie viel Speicher sich ein Apache-Prozess und die ihm nachgeordnete Software greifen.

Abbildung 1: Pmap dröselt fast aufs Byte genau auf, wie viel Speicher sich ein Apache-Prozess und die ihm nachgeordnete Software greifen.

Pmap ermittelt die Daten übrigens nicht selbst, sondern bezieht sie aus dem virtuellen Proc-Dateisystem und bereitet sie auf. Die rohen Daten des Apache-Prozesses aus dem Screenshot sehe ich, wenn ich »cat /proc/27579/maps« eingebe.

Fürs Inventar

»lsmod« , »lsof« , »lsusb« sind Tools aus der illustren »ls*« -Reihe, die Leute wie ich oft auf die Kommandozeile tippen. Aber wer kennt Lshw [1]? Es informiert sehr detailliert über die Hardware, auf der ich es ausführe. Starte ich nur »lshw« , überrollen mich mehr als 300 Zeilen Ausgabe – und doppelt so viele, wenn ich es als Root aufrufe. Um den Überblick zurückzugewinnen, darf ich die Ausgabe auf eine so genannte “Klasse” beschränken, also etwa auf Informationen über den Prozessor oder die Netzwerk-Hardware. Welche Klassen es gibt, verrät mir:

lshw -businfo

Abbildung 2 zeigt, wieder leicht gekürzt, die Ausgabe dieses Kommandos. In der dritten Spalte finde ich die Angabe der Klasse, es gibt »system« , »processor« , »bus« , »bridge« , »memory« , »display« , »multimedia« , »network« , »storage« , »disk« und »volume« . Will ich die Ausgabe auf eine Klasse einschränken, schreibe ich:

Abbildung 2: Das alles steckt in Charlys Rechner – »lshw -businfo« erfasst eine fast erschreckend detaillierte Komponentenliste.

Abbildung 2: Das alles steckt in Charlys Rechner – »lshw -businfo« erfasst eine fast erschreckend detaillierte Komponentenliste.

lshw -class storage

Um die Daten automatisch weiterverarbeiten zu können, etwa um eine Inventarisierungsdatenbank zu füllen, ist auch die Ausgabe in XML oder HTML mit den Parametern »-xml« und »-html« möglich. (jk)

Der Autor

Charly Kühnast administriert Unix-Systeme im Rechenzentrum Niederrhein. Zu seinen Aufgaben gehören Sicherheit und Verfügbarkeit der Firewalls und der DMZ.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 1 HeftseitePreis €0,99
(inkl. 19% MwSt.)
LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Comments
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben