Hardwaretipps | Praxis | Tipps & Tricks | David Wolski | 5/2025 | 25. Juli 2025

Hardwaretipps aus der Linux Welt 05/2025

Die Tipps werfen einen Blick auf die inneren Werte von CPUs und NVME-Laufwerken, denen es im Sommer gerne zu heiß wird. Zudem zeigen wir, wie die letzten Urlaubsfotos nachträglich Geokoordinaten erhalten – per Tracker oder per manueller Auswahl.

NVMEs: Bezeichnungen und Bedeutung

Während der Begriff NVME (Non-Volatile Memory Express) ein Protokoll für den PCI-Express-Bus für Laufwerke beschreibt, liegen die eigentlichen Datenträger mit Format M.2 vor. NVME-Laufwerke im M.2-Format gibt es aber in unterschiedlicher Länge und mit unterschiedlichen „Key“-Aussparungen. Bei einer Bestückung ist daher unbedingt ein genauer Blick auf den M.2-Sockel Pflicht.


Alle hier abgebildeten NVME-Speicher verwenden den Key M – die Aussparung auf der rechten Seite der Pinleiste, exakt fünf Pins vom Rand entfernt. Solche „Keys“ stellen sicher, dass man nur kompatible Speicher in einen M.2-Port einbauen kann. Key M ist aktuell am meisten verbreitet, es gibt aber auch Key B (links auf der Pin-Leiste), ferner die Kombination beider Aussparungen (Key B+M).
Weniger kritisch sind die Maße des NVME-Speichers. Die Breite beträgt immer 22 Millimeter, doch die Länge reicht von 30 bis 110 Millimeter, am verbreitetsten sind 80 mm. Die größten NVMEs haben damit die Bezeichnung 22110 (22 mm breit, 110 mm lang), die kürzesten sind mit 2230 bezeichnet (22 mm breit, 30 mm lang). Viele M-2-Ports unterstützen unterschiedliche Längen, was an kleinen Schraubengewinden an mehreren Positionen erkennbar ist. Hier ist es kein Problem, eine kürzere NVME in den an sich längeren Steckplatz einzusetzen. Es gibt auch Adapterplatinen ab 7 Euro plus Versand, die kürzere Module in einem langen Steckplatz fixieren können, wenn die Hauptplatine keine weiteren Schraubengewinde für kurze NVMEs hat (https://m6u.de/adptnvme).
Eine zu lange NVME ist hingegen ein Fehlkauf. USB-Adapter nach dem Standard USB 3.2 für beliebige Längen sind zwar ab 16 Euro im Versand erhältlich (https://m6u.de/nvmeusb), doch die Geschwindigkeit wird auch mit USB 3.2 nicht annähernd den Durchsatz des PCI-Ports erreichen.

Gebräuchliche Bauformen von NVME-Modulen: Ein Neuzugang sind NVMEs mit 110 Millimetern Länge (M.2 22100), die auf Hauptplatinen oft einen zusätzlichen Adapter benötigen.

NVME und SSDs: Temperaturen im Blick

Unter hoher I/O-Last können NVME-Laufwerke der neueren Generationen recht heiß werden und regeln ihre Leistung dann selbstständig herunter, um die Halbleiter zu schützen. Je nach Modell und Firmware greift diese Leistungsbremse ab Temperaturen zwischen 75 und 85 Grad. Auf Servern passiert das oft unbemerkt, denn die Firmware gibt die Überhitzung nicht an das Kernel-Log oder an eine andere Loginstanz weiter.
Bei SSDs waren Temperaturen selten ein Problem. Aber in beengten Servern und in Notebooks mit NVMEs ab dem Standard PCI-Express 3 (× 2) werden die Halbleiter dieser Speicher bei Last recht schnell zu heiß. Zum Auslesen der Temperatur von NVME-Laufwerken gibt es für die Linux-Kommandozeile ein spezielles Tool aus dem Paket „nvme-cli“. In Debian/Ubuntu & Co. ist es mit


sudo apt install nvme-cli


zu installieren. Zum Abruf der eingebauten NVMEs dient zunächst dieser Terminalbefehl:


sudo nvme list


Um dann beispielsweise den Temperatursensor des Laufwerks „/dev/nvme0“ auszulesen, dient dieser Befehl:


sudo nvme smart-log /dev/nvme0 | grep temperature


Dies ist für Stichproben schon mal nützlich, allerdings geben die meisten NVMEs die Temperatur in Fahrenheit (F) und in Kelvin (K) zurück. Abfragen von mehreren NVME-Laufwerken wie „/dev/nvme0“ und „/dev/nvme1“ in einem System sind so auch nicht möglich.
Auf Heft-DVD findet sich deshalb das kompakte Python-Script „nvme-temp.py“ mit lediglich einem Dutzend Zeilen, das alle NVME-Laufwerke abfragt und eine Liste mit Geräte-ID und Temperatur sowie Datum und Uhrzeit in Grad Celsius im Terminal ausgibt. Der Aufruf erfolgt so:


sudo python nvme-temp.py


Für eine Langzeitbeobachtung eignet sich folgende Schleife:


while true ; do sudo python nvme-temp.py >> nvme-temp.log ; sleep 10 ; done


Das führt das Script alle zehn Sekunden aus und schreibt die Messwerte in die Logdatei „nvme-temp.log“.
Es empfiehlt sich, die Rechner unter eine hohe I/O-Last zu nehmen, damit die NVME maximale Temperaturen erreichen. Dafür eignet sich der flexible I/O-Tester, kurz „fio“, der in Debian/Ubuntu mit


sudo apt install fio


schnell installiert ist. Die Besonderheit dieses Benchmarks ist, dass er gezielt eine Datei mit gewünschter Größe in den aktuellen Ordner schreiben kann und keine root-Privilegien braucht:


fio --randrepeat=1 --ioengine=libaio --direct=1 --name=test --filename=test --bs=4k --size=10G --readwrite=randwrite --numjobs=4


Die Eingabe erzeugt eine Datei mit der Größe von 10 GB und einer I/O-Lastverteilung über vier Threads. Generell sollten NVME immer mit mehreren Threads malträtiert werden, sonst langweilt sich der Datenträger.

Von Fahrenheit nach Celsius: Das Python-Script „nvme-temp.py“ (auf Heft-DVD) zeigt alle NVME-Laufwerke mit ihren aktuellen Temperaturen samt Zeitstempel für Logs.

Digitalkamera: GPS-Daten ergänzen

Digitalkameras können Zusatzinfos wie Aufnahmedatum, Blende, Brennweite, Belichtungszeit, Objektiv und Kameramodell in den Headern erzeugter Bildformate unterbringen. Auch die Protokollierung von GPS-Koordinaten ist in diesen Metadaten möglich, um die Bilder später in einer Fotoverwaltungssoftware wie Digikam nach Orten sortieren zu können. Das unterstützen aber nicht alle Digitalkameras nativ, sondern nur über einen teuren GPS-Empfänger als Zubehör.


Auch ohne Zubehör gibt es über das Smartphone eine Möglichkeit, die EXIF-Header von Bilddateien mit passenden GPS-Koordinaten zu versehen.

1. Referenzfoto: Ist ein Smartphone mit dabei, macht man damit einfach an dem Ort, an dem eine Fotoserie entsteht, ein Referenzbild mit dem Mobilgerät. Denn dann sind die Geoinformationen in den Metadaten dieses Bildes enthalten. Das Foto sollte mit einem aussagekräftigen Namen abgespeichert werden, beispielsweise als „Referenz.jpg“. Später kommt es zusammen mit den eigentlichen Fotos der Bildserie in ein Verzeichnis auf dem Linux-Rechner. Dort dient das Kommandozeilenwerkzeug Exiftool dazu, die gewünschten Metadaten vom Referenzfoto in die anderen Dateien zu kopieren. Das Exiftool gibt es in Debian/Ubuntu unter identischem Paketnamen, in Fedora und Open Suse als Paket „perl-Image-ExifTool“. Der Befehl


exiftool -overwrite_original_in_place -tagsFromFile Referenz.jpg -gps:all 

.
kopiert dann die GPS-Daten aus der Referenzdatei in die anderen Bilddateien des aktuellen Ordners (deshalb der Punkt am Ende des Befehls).

2. Kgeotag: Eine manuelle Methode, GPS-Daten in Fotos einzutragen, bietet das KDE-Programm Kgeotag. Es ist in den Paketquellen der meisten Linux-Distributionen verfügbar und in Debian/Ubuntu etwa mit


sudo apt install kgeotag


mit allen KDE-Abhängigkeiten nachinstalliert (auf nicht-KDE-Desktops recht umfangreich). Nach dem Start kann der Menüpunkt „Datei –› Bilder und/oder GPX-Strecken hinzufügen“ die gewünschten Fotos öffnen. Auf der Weltkarte ganz rechts kann der Ort aufgesucht und nach Rechtsklick und „Der Mitte der Karte zuweisen“ dem auswählten Foto zugewiesen werden. Auch die Eingabe von Längen- und Breitengrad ist hier möglich.
Für Fotoserien mit Dutzenden Aufnahmen ist diese manuelle Methode aber zu umständlich. Es empfiehlt sich stattdessen, ein Smartphone als GPS-Tracker zu verwenden – über eine App wie dem freien Open Street Map Tracker (https://m6u.de/osmtrack). Diese App zeichnet während des Betriebs eine Route mit den Geokoordinaten als GPX-Datei auf. Diese kann Kgeotag importieren und dann den ebenfalls geöffneten Fotos die Koordinaten über den Zeitstempel automatisch zuweisen. Damit dies funktioniert, muss zuvor auf Smartphone und Kamera eine Uhrensynchronisation erfolgen. Abweichungen kann Kgeotag aber über den Punkt „Fix time drift“ ausgleichen.

GPS-Daten ergänzen: Kgeotag zeigt eine zoombare Weltkarte an, um den Aufnahmeort eines Fotos manuell aufzusuchen und zuzuweisen. Es kann auch GPX-Dateien einlesen.

CPUs: Wann wird gedrosselt?

Server müssen oft mit beengten Verhältnissen vorliebnehmen. So passiert es, dass im Sommer die Kühlung von Prozessoren bei platzsparenden (Low-Profile) oder passiven Kühlkörpern nicht ausreicht und die Temperaturen in die Höhe gehen. Das ist kein Grund zur Besorgnis, denn CPUs regeln ihre Taktfrequenz bei Überhitzung herunter. Doch ist es wichtig, für eine konsistente Systemleistung den Wert „TJMax“ der CPU-Spezifikation zu beachten.


Der Wert „Thermal Junction Maximum“ (TJMax) in den Spezifikationen markiert die maximale Temperatur, die ein Prozessor erreichen darf, bevor die Taktfrequenz über die Firmware der Hauptplatine reduziert wird. Ob dieser Fall seit dem letzten Systemstart bereits eintrat, zeigt ein Blick in das Kernel-Log:


sudo dmesg|grep temperature


Kam es zu Überhitzung und Takt­reduzierung, so zeigt dieses Kommando Meldungen mit dem Hinweis „temperature above threshold, cpu clock throttled“. Um die CPU-Temperatur im Terminal anzuzeigen, verlangt eine Linux-Distribution die Installation des Pakets „lm-sensors“ aus den Paketquellen. Anschließend liefert die Eingabe sensors die aktuelle Prozessortemperatur.
Als Faustegel gilt: Intel-Prozessoren haben einen TJMax von üblicherweise von 100 bis 110 Grad, AMD legt den Wert konservativer bei 85 bis 95 Grad fest. Vorsicht ist laut Intel bei Hauptplatinen von Asrock geboten, denn einige der Firmwares setzen TJMax ungeachtet der CPU-Spezifikation auf 115 Grad hoch, um ein Übertakten einfacher zu machen (https://m6u.de/tjmax). Solche Experimente eignen sich nur bei sehr großem Kühlkörper.

Intel weist darauf hin, dass die Firmware einiger Asrock-Platinen die akzeptable Betriebstemperatur (TJMax) an den Spezifikationen vorbei auf 115 Grad hochsetzt.

Gnome: Audiogerät automatisch wählen

Beim Anschluss eines Headsets am Audioport oder per Bluetooth-Geräten zeigt der Gnome-Desktop nun den zusätzlichen Dialog „Audio-Gerät auswählen“. Bevor dann die Ausgabe erfolgt, ist ein weiterer Klick auf die aufgelisteten Geräte nötig. Gnome hat diese zusätzliche Abfrage für Headsets mit eingebautem Mikrofon übernommen, damit Anwender nicht versehentlich ein Audiogerät mit Aufnahmefunktion anschließen.


Ob ein Headset überhaupt Audiosignale aufnimmt, entscheidet letztlich die Mixer-App über Pulseaudio. Aber Gnome will zeigen, dass dieser Desktop die Privatsphäre von Anwendern ernst nimmt, und blendet deshalb bei Multifunktions-Headsets mit Mikrofon lieber einen Dialog mehr ein. Der bietet an, ein Gerät nur als Kopfhörer, also ohne Aufnahmefunktion anzubinden.
Soll ein Headset ohne Nachfrage von Gnome als solches erkannt werden, hilft dabei die Gnome-Erweiterung „Auto Select Headset“, die aus dem offiziellen Verzeichnis (https://extensions.gnome.org/extension/3928/auto-select-headset) in allen Ausgaben des Desktops leicht installiert ist. Dessen Einrichtung gelingt über den Browser, wenn zuvor in der verwendeten Linux-Distribution das Paket „chrome-gnome-shell“ aus den Standard-Paketquellen installiert wurde. Firefox verlangt zudem noch die Installation des Gnome-Add-ons von
https://addons.mozilla.org/de/firefox/addon/gnome-shell-integration. Diese Erweiterung wählt dann immer das Headset mit Mikrofon und unterdrückt den Auswahldialog. Auf Einstellungsmöglichkeiten verzichtet die Erweiterung. Um den Dialog wieder zu reaktivieren, genügt es, die Erweiterung zu entfernen.

Mit oder ohne Mikrofon? Gnome zeigt ständig diesen Dialog, wenn ein Headset per Bluetooth oder Buchse verbunden wird. Eine Erweiterung wählt automatisch die Aufnahmefunktion.