1843069

Hardware und Systemressourcen unter Linux ermitteln

05.09.2022 | 07:30 Uhr | David Wolski, Hermann Apfelböck

Um einen Blick in den Maschinenraum zu werfen, muss man sich unter Linux nicht weit unter Deck begeben. Sowohl für den Desktop als auch für die Kommandozeile gibt es Tools, die Leistungsdaten akribisch anzeigen.

Wie steht es um die Systemauslastung, die Netzwerkschnittstelle und die Temperaturen von Prozessor und Chipsatz? Welche Hardware steckt überhaupt im System? Die Frage, wie ein System bestückt ist und wie es sich im rauen Alltag schlägt, ist nicht nur von theoretischem Interesse. Ein Blick auf die Hardware und deren Auslastung zeigt, wo eventuell ein Nadelöhr auftritt. Die Diagnoseprotokolle von Festplatten und die Systemtemperaturen lassen zudem eine Einschätzung der Systemgesundheit zu.

Viele der im Folgenden vorgestellten Werkzeuge für die Hardwarekontrolle sind für das Terminal (Kommandozeile) gemacht und liefern ausführliche Hardware-und Performancedaten im Textmodus. Das hat den Vorteil, dass die Programme auch auf Servern oder Mini-PCs wie dem Raspberry Pi funktionieren, die oft keine grafische Oberfläche nutzen und nur per SSH-Zugang auf der Kommandozeile verwaltet werden.

Die Systemüberwachung in Linux Mint und Ubuntu.
Vergrößern Die Systemüberwachung in Linux Mint und Ubuntu.

Desktop: Grafische Systemmonitore

Auf Desktopsystemen wie Ubuntu und Mint werden Sie die grafische „Systemüberwachung“ bevorzugen, um die Systemleistung zu kontrollieren oder Tasks zu beenden. Im Ausführen-Dialog startet Sie diesen mit dem Aufruf gnome-system-monitor, im Anwendungsmenü beziehungsweise in der Unity-Übersichtsseite ist das Programm unter dem Namen „Systemüberwachung“ zu finden.

Das Tool beherrscht in der Prozessliste nach Rechtsklick auf einen Prozess alle Aufgaben bis hin zur Prioritätsanpassung, sortiert nach der gewünschten Spalte, und zeigt nach Rechtsklick auf den Spaltenkopf auf Wunsch noch wesentlich mehr Spalten (wichtig etwa „CPU-Zeit“ oder „Befehlszeile“). Die Echtzeitüberwachung von CPU, Speicher und Netzwerk unter „Ressourcen“ ist ebenfalls vorbildlich. Eine Datenträgerübersicht gibt es unter „Dateisysteme“.

In Ubuntu Mate ist ein sehr ähnliches Tool unter „Systemwerkzeuge -> Mate-Systemüberwachung“ zu finden. Unter XFCE (Xubuntu) fällt dieser Monitor etwas schlichter aus und ist dort unter „System -> Taskmanager“ zu finden.

Shell: Auslastung beobachten

In der Kommandozeile ist der Klassiker unter den Systemmonitoren der Befehl top, welcher auf allen Linux-Systemen zur Verfügung steht. Das Werkzeug zeigt eine tabellarische Liste aller Prozesse, sortiert nach CPU-Aktivität, und aktualisiert diese alle drei Sekunden. In der obersten Zeile steht hinter Zeit, Laufzeit (Uptime) und der Zahl angemeldeter Benutzer die durchschnittliche Auslastung („load average“). Darunter zeigt „%CPU(s)“ die mittlere Auslastung aller CPU-Kerne an. Es folgt mit „KiB Spch“ beziehungsweise „KiB Mem“ die Speicherauslastung in KB. Wie es um die Auslagerungsdatei steht, zeigt die Zeile „KiB Swap“. Die Zahl vor „used“ (belegt) gibt jeweils den genutzten Speicher an. Die Taste Q beendet top wieder.

htop: Ist top zu schlicht und zu monochrom, dann bietet htop eine Alternative – ebenfalls für das Terminal. Der erweiterte Taskmanager und System-monitor bietet nicht nur Farbe und einen verständlicheren Aufbau, sondern zeigt zudem Auslastung von CPU, RAM und Auslagerungspartition in Balken an. Den unteren Bereich füllt, wie beim Vorbild top, die Programm-und Prozessliste aus, in der Sie mit den Pfeiltasten blättern können. Mit F3 suchen Sie in der Prozessliste, mit F9 können Sie Stop-Befehle an hängende Prozesse senden. F10 beendet das htop-Programm. Das Tool steht für alle Linux-Distributionen über den jeweiligen Paketmanager zur einfachen Installation zur Verfügung, unter Ubuntu und Debian beispielsweise mit diesem Kommando:

sudo apt-get install htop

Speicherauslastung anzeigen: Möchte man lediglich sehen, wie RAM und Auslagerungsdatei belegt sind, so gibt es ein einfacheres Mittel als top/htop. Der Befehl

free -m

zeigt im oberen Teil hinter „Mem“ den physikalischen Arbeitsspeicher, darunter folgt hinter „Swap“ die Gesamtgröße des Auslagerungbereichs („Total“), dessen aktuelle Auslastung („Used“) und der noch freie Swapspeicher („Free“).

Das Kommandozeilentool top ist in jedem Linux-System vorhanden.
Vergrößern Das Kommandozeilentool top ist in jedem Linux-System vorhanden.

Datenträger: Belegung und Zustand

Die eher bescheidenen Größen erschwinglicher SSDs bringen alte Probleme zurück, da der Speicherplatz hier wieder ein knappes Gut ist. Um die Belegung des Datenträgers zu analysieren, bietet der „Disk Usage Analyser“ eine aufschlussreiche grafische Darstellung des Dateisystems. Es handelt sich um ein Programm aus dem Gnome-Repertoire, dass in vielen Fällen auch schon vorinstalliert ist – beispielsweise in Ubuntu und Linux Mint. Über den Namen „baobab“ lässt es sich auch in anderen Ubuntu-Varianten nachinstallieren:

sudo apt-get install baobab

Um auszuwählen, welche Partitionen oder Verzeichnisse untersucht werden sollen, zeigt der Disk Usage Analyser nach dem Start eine Gesamtübersicht der verfügbaren Datenträger an. Zur Visualisierung eines Datenträgers gibt es nicht nur eine nach Größe geordnete Liste, sondern auch ein Kreisdiagramm. Dieses zeigt ausgehend vom ausgewählten Verzeichnis in konzentrischen Kreissektoren die Unterverzeichnisse an – bis zu fünf Ebenen tief. Je nach Platzbedarf der Verzeichnisse sind die Kreissektoren breiter oder schmaler und zeigen damit schnell, wo die großen Brocken liegen.

Disk Usage Analyser: Auslastung der Festplatte und Platzbedarf von Ordnern in Kreisdiagramm.
Vergrößern Disk Usage Analyser: Auslastung der Festplatte und Platzbedarf von Ordnern in Kreisdiagramm.

In der Shell: Nach Verzeichnissen und Dateien schlüsselt der Befehl

du -h |sort -h

den Platzbedarf auf. Das Kommando zeigt ausgehend vom aktuellen Verzeichnis den Platzbedarf am Anfang jeder Zeile, aufsteigend nach dem Platzbedarf sortiert. Als root oder mit sudo ausgeführt, zeigt es auch den Speicherplatz des Ordners „/root“ an. Den ganz schnellen und knappen Zustandsbericht der Datenträgerbelegung liefert der Befehl df. Hier erfahren Sie sofort die Gesamtbelegung aller angeschlossenen Datenträger.

Smart-Werte anzeigen: Nahezu alle Festplatten und SSDs geben über SMART bereitwillig Auskunft über den eigenen Zustand. SMART steht kurz für „Self-Monitoring, Analysis, and Reporting Technology“ und bietet über die Firmware der Festplatte eine permanente Überwachung wichtiger Leistungsdaten, um die drohende Havarie frühzeitig zu erkennen. Google hat dazu eine interne Studie über 100.000 Festplatten im Dauereinsatz angestellt und das Ergebnis zeigt, dass sich immerhin 64 Prozent aller Ausfälle über SMART ankündigten ( https://research.google.com/pubs/pub32774.html ). Auf Ubuntu und seinen Varianten eignet sich zur Überprüfung das grafische Tool Gsmartcontrol, das in den Paketquellen zur Installation bereitsteht:

sudo apt-get install gsmartcontrol

Für die Diagnose per Kommandozeile gibt es das Paket „smartmontools“:

sudo apt-get install smartmontools

Damit ist dann der Blick auf die SMART-Parameter eines Laufwerks mittels des Befehls

sudo smartctl -a /dev/sda

möglich.

Heiße Hardware: Psensor zur Überwachung von CPU und Systemtemperatur.
Vergrößern Heiße Hardware: Psensor zur Überwachung von CPU und Systemtemperatur.

Temperatur: Prozessor und System

In vielen Notebooks läuft die CPU aufgrund beengter Verhältnisse heiß. Wer rechenintensive Programme ausführt, sollte die Temperatur des Prozessors im Auge behalten, um bei Bedarf für bessere Kühlung zu sorgen.

Unter Linux dient das Programm „lm-sensors“ dazu, die Temperaturfühler von Prozessor und Hauptplatine auszulesen. Bei Ubuntu und seinen Abkömmlingen wie Linux Mint installieren Sie das Tool mit diesem Terminalbefehl:

sudo apt-get install lm-sensors

Anschließend müssen Sie die Temperatursensoren von CPU und Hauptplatine einbinden. Das Installationsscript dazu rufen Sie mit

sudo sensors-detect

auf. Bei der darauf folgenden Suche nach unterstützten Chips können Sie alle Fragen mit der Vorgabe „yes“ beantworten. Das Installationsscript zeigt zum Abschluss die Liste gefundener Sensoren an und erstellt die Konfigurationsdatei automatisch. Zudem wird das benötigte Kernel-Modul i2c-dev geladen. Auch die Frage, ob die Zeilen zur Konfigurationsdatei „/etc/modules“ hinzugefügt werden sollen, beantworten Sie mit „yes“. Mit der Eingabesensors im Terminal fragen Sie anschließend die Temperaturfühler ab und bekommen auch Spannungen und Lüfterdrehzahl, falls die Hauptplatine dies unterstützt.

Grafische Auswertung: Komfortabler ist es, die Ausgabe von sensors grafisch auf dem Desktop zu sehen. Unter Ubuntu und Linux Mint eignet sich dazu das Programm „Psensor“ aus den Standard-Paketquellen.

Hardwareinfos im Terminal

dmidecode

zeigt wichtige Hardware des Rechners, die gesuchte Komponente ist mit Schalter „-t“ anzugeben (baseboard, bios, system, processor, memory, cache, slot u.a.). Beispiel: sudo dmidecode -t memory

free

zeigt die aktuelle Speicherauslastung Beispiel: free -m

hwinfo

Das Paket hwinfo ist meist nicht Standard: Überblick über Prozessor, Grafikkarte, Festplatten, Netzwerkadapter und Festplattencontroller. Beispiel: hwinfo --disk --partition (Filter für Festplatten- und Partitionsinfos)

lscpu, lspci, lsusb

zeigen CPU-Infos, PCI-Schnittstellen und USB-Geräte (Schalter „-v“ und „-vv“ für mehr Details). Beispiele: lspci | grep -i ethernet

lsblk

liefert alle Infos zu angeschlossenen Datenträgern, Basisfehle siehe unter „Terminal-Essentials“. Beispiel: lsblk -o name,fstype,size,partlabel,type,uuid,mointpoint

lshw

lshw ist oft, aber nicht überall Standard. Es liefert eine Übersicht über Hauptplatine, Prozessor, RAM, USB und Netzwerkadapter (besser lesbar ist das vergleichbare hwinfo). Beispiele: lshw -short

Systeminfos im Terminal

[Programmname] –version

standardisierte Versionsabfrage für die meisten Softwarekomponenten unter Linux. Beispiel: gnome-shell --version

/proc (Verzeichnis)

Der virtuelle Ordner „/proc“ ist eine Kernel-Schnittstelle mit umfangreichen dynamischen Daten über den aktuellen Systemzustand. Vorteil: Die Infos können mit cat oder jedem Editor gelesen werden. Nachteil: meist leserunfreundliche Ausgabe. Beispiel: cat /proc/cpuinfo (Prozessorinfos)

env

zeigt die aktuellen Systemvariablen wie Pfad, Sprachcodierung, Benutzerkonto Beispiel: env | sort

getconf

zeigt die POSIX-Konfigurationsvariablen (populär ist nur die Abfrage der Systemarchitektur) Beispiele: getconf -a (alle Variablen)

inxi

inxi ist meist nicht Systemstandard, aber mit gleichnamigen Paketnamen überall beziehbar – das beste Tool mit hoher Infodichte für System, Netzwerk, Paketquellen, Hardware, Datenträger, Tasks. Beispiel: inxi -r (Abfrage der Paketquellen)

lsb_release

sehr knappe Info zu Distribution, Version und Codename. Beispiele: lsb_release -a

mount

listet alle aktuell eingebundenen Datenträger auf, als Ergänzung zu lsblk notwendig, weil es auch gemountete Netzlaufwerke anzeigt. Beispiele: mount | grep /dev/sd (grep filtert virtuelle Loop-Devices weg)

neofetch

nur unter Linux Mint Standard: Das konfigurierbare Infotool liefert die Kerndaten (System, Hostname, Kernel, Uptime, CPU, GPU, RAM). Beispiel: neofetch

service systemctl

Abfrage und Kontrolle der aktiven und inaktiven Systemdienste, auf Systemen mit systemd (Ubuntu & Co.) vorzugsweise mit dem Tool systemctl Beispiele: service --status-all ■ systemctl list-unit-files --type=service uname sehr knappe, generische Infos zu Hardwarearchitektur, Kernel-Version, Betriebssystem. Beispiel: uname -a

uptime

Abfrage der Systemlaufzeit oder des genauen Startzeitpunkts. Beispiele: uptime -s (genaue Startzeit)

Prozessinfos im Terminal

htop

selten vorinstallierter, exzellenter Taskmanager für die Kommandozeile: Prozessübersicht und Steuerung (Beenden, Priorität ändern), Uptime, RAM- und CPU-Auslastung in Echtzeit. Beispiel: htop --delay=50 (Refreshintervall in Zehntelsekunden, hier: alle fünf Sekunden)

pgrep

ermittelt die Prozess-ID anhand des Programmnamens. Beispiel: echo $(pgrep firefox)

ps

zeigt die aktuell laufenden Prozesse, erlaubt dabei zahlreiche Filter und Darstellungsoptionen. Beispiele: ps -A (alle anzeigen)

pstree

zeigt alle laufenden Prozesse in übersichtlicher Baumstruktur. Beispiel: pstree -a (mit Anzeige der Startkommandos)

top

liefert ausführliche Infos zu allen laufenden Prozessen (Taste H für Hilfe, Taste Q zum Beenden). Beispiele: top -b -n1 > top.txt („-b“ für nicht-interaktiven Batchmodus, „-n1“ nur eine Abfrage und dann beenden)

which

liefert den Pfad des befragten Programmes (sofern im Systempfad $PATH vorhanden). Beispiel: which gparted

xprop

ermittelt neben zahlreichen weiteren Infos den Programmnamen einer grafischen Software (Aufruf im Terminal, danach Klick auf das betreffende Programmfenster). Beispiele: xprop | grep CLASS

Grafische Informationstools

Gparted

Partitionsklassiker, zum Teil standardmäßig installiert: für Informationsaufgaben in der Regel nicht notwendig, wenn Gnome-Disks oder der KDE Partitionsmanager vorliegen

„Systemeinstellungen –› Informationen“

Controlcenter des jeweiligen Desktops: Der Unterpunkt „Informationen“ zeigt die Basisinfos über Gesamtspeicher, CPU und die Distributionsversion

„Systemüberwachung“ (Gnome & Co.)

Der Gnome-System-Monitor ist Standard auf allen Gnome-affinen Desktops: Prozessübersicht und Steuerung (Beenden, Priorität ändern), Echtzeitüberwachung von CPU- und RAM-Auslastung

„Systemmonitor“ (KDE)

„KDE System Monitor“ (ksysguard) ist Standard auf KDE-Desktops: Prozessübersicht und Steuerung (Beenden, Priorität ändern), Echtzeitüberwachung von CPU- und RAM-Auslastung

KDE-Infocenter

unter dem KDE-Desktop die komfortable Informationszentrale für die wichtigsten Hardware- und Systembelange. Das Tool ist im Prinzip auch unter Gnome-ähnlichen Desktops installierbar (Paket „kinfocenter“), bringt daber aber erhebliche Paketabhängigkeiten mit

„System Profiler und Benchmark“

klickfreundliches, aber nicht tiefschürfendes Infotool, meistens nicht vorinstalliert, aber als Paket „hardinfo“ in allen Standard-Paketquellen verfügbar: links mit der Kategorienspalte (Hardware, System, Dateisystem, Netzwerk), rechts das maßgebliche Wertefenster

I-Nex

I-Nex ist nicht Standard, aber ein DEB-Paket (Debian/Ubuntu/Mint) auf https://launchpad.net/inex verfügbar: I-Nex beschränkt sich auf Hardware, ist aber präziser als der „System Profiler“

„Laufwerke“ (Gnome & Co.)

„Laufwerke“ (Gnome-Disks) ist Standard auf Gnome-affinen Desktops: mächtiges Tool für die allermeisten Datenträgerbelange (Anzeige von Modell, Größe, Dateisystem, UUID, SMART-Infos und Leistungstests, Partitionieren, Imagefunktionen, Energieeinstellungen). Zum Vergrößern/Verkleinern von Partitionen ist zusätzliches Gparted erforderlich

„KDE Partitionsmanager“ (KDE)

„KDE Partitionsmanager“ (partitionmanager) ist Standard auf KDE-Desktops: mächtiges Tool für die allermeisten Datenträgerbelange mit ähnlichem Umfang wie Gnome-Disks, macht zusätzliches Gparted weitgehend überflüssig

PC-WELT Marktplatz

1843069