Wie kann ich die Festplattentemperaturdatei direkt anzeigen?

1

Ich bin ein allgemeiner Benutzer, der x86-64 Ubuntu verwendet.

Ich erstelle ein Bash-Skript, um die Temperatur zu überprüfen. Es wird überspielt, und ich stelle Ihnen eine Frage.

Wie kann ich die Festplattentemperaturdatei direkt wie cat / sys / class / thermal / thermal_zone0 / temp anzeigen? (nicht wie hddtemp, smartctl)

Ist das eine dumme Frage?


quelle
1
sie sagen , dass in Linux „alles , was eine Datei ist“ , obwohl ich sie nicht wirklich vertrauen, vielleicht ist es nicht .. Siehe cyberciti.biz/tips/howto-monitor-hard-drive-temperature.html es gibt einen Befehl zur Ausgabe Festplattentemperatur aus den SMART-Daten der Festplatte, aber das scheint keine Datei zu sein.
Barlop
Danke, aber das weiß ich. Ich frage mich nur ... "Wo ist die Festplattentemperatur-Datei?"
Ich weiß es nicht. Ich hoffe, jemand weiß es. Eine andere Möglichkeit, eine Antwort zu erhalten, besteht darin, in einem Programmiersprachenforum nachzufragen, wie es in C gemacht wird, und danach, wie C es macht.
Barlop

Antworten:

1

Es gibt keine "Hardware-Temperaturdatei" für die Festplatte. Dinge wie sys/class/thermal/thermal_zone0/tempsind keine echten Dateien, sondern Schnittstellen zum Kernel. Wenn Sie sie lesen, führt der Kernel Code aus, der die Temperatur von den Sensoren liest.

Jetzt verfügt die Festplatte über keinen speziellen Kerneltreiber, um die Temperatur zu lesen, sodass keine entsprechende Datei vorhanden ist /sys. Stattdessen können Sie ein spezielles Protokoll ( SMART ) verwenden, das die normale Festplattenkommunikation verwendet, auf die von einem Programm aus /dev/sd*zugegriffen werden kann, z. B. um den Mikrocontroller auf der Festplatte abzufragen, der unter anderem die aktuelle Temperatur lesen kann.

Es gibt also keine andere Möglichkeit, diese Informationen abzurufen, als ein Programm wie smartctloder zu verwenden hddtemp.

dirkt
quelle
Sie möchten auch nicht wirklich wertvolle Ressourcen auf dem Festplattencontroller verschwenden, indem Sie ständig die Temperatur abfragen, wenn Sie wirklich Daten übertragen möchten. Auf Bussen mit hoher Bandbreite und Geräten, auf denen der Code bereits ausgeführt wird (z. B. das Lesen von CPU-Temperatursensoren), ist das Lesen eines Registers im aktuellen Gerät weniger problematisch, aber auf einer Festplatte können Sie das Lesen von oder effektiv blockieren Schreiben Sie einige Millisekunden, um die Temperatur zu ermitteln.
Mokubai
Was kann ich also tun? benutzt smartctl oder hddtemp? und dann werde ich noch eine frage stellen. Müssen Sie hddtemp und smartctl für alle Betriebssysteme separat installieren, wenn die Festplatte nur Smart durchlaufen muss, das sich von der Kernelreferenz unterscheidet? (In Ubuntu war es nicht die Standardinstallation), andere Möglichkeiten? danke für die Antwort.
Ja, der einfachste Weg ist, sie regelmäßig aufzurufen smartctlund hddtempzu installieren (was kein Problem sein sollte). Alternativ können Sie natürlich den Code extrahieren und Ihr eigenes Programm oder Plugin schreiben, um diese Informationen zu erhalten .
Dirkt