Comment voir le fichier de température du disque dur directement?


1

Je suis un utilisateur général qui utilise x86-64 Ubuntu.

Je fais un script bash pour vérifier la température. Il y a un doublage et je vous pose une question.

Comment puis-je voir le fichier de température du disque dur directement comme cat / sys / class / thermal / thermal_zone0 / temp? (pas comme hddtemp, smartctl)

Est-ce une question idiote?


1
ils disent que dans linux « tout est un fichier » si je le fais est pas .. pas vraiment confiance en eux, peut - être Voir cyberciti.biz/tips/howto-monitor-hard-drive-temperature.html il y a une commande de sortie température du disque dur à partir des données SMART du disque dur, mais cela ne semble pas être un fichier.
barlop

merci, mais je le sais. je me demandais simplement ... "Où est le fichier de température du disque dur?"

Je ne sais pas .. J'espère que quelqu'un l'a fait .. Une autre façon de vous aider à obtenir une réponse est de demander à un forum de langage de programmation comment le faire en C, après quoi, comment C le fait-il.
barlop

Réponses:


1

Il n'y a pas de "fichier de température matérielle" pour le disque dur. Des choses comme ce sys/class/thermal/thermal_zone0/tempne sont pas de vrais fichiers, ce sont des interfaces avec le noyau, et quand vous les lisez, ce qui se passe, c'est que le noyau exécute un code qui lit la température à partir des capteurs.

Maintenant, le disque dur n’a pas de pilote de noyau spécial pour lire la température, il n’ya donc pas de fichier correspondant /sys. Au lieu de cela, vous pouvez utiliser un protocole spécial ( SMART ) utilisant la communication de disque normale accessible à partir d'un programme, par exemple via l' /dev/sd*interrogation du microcontrôleur sur le disque dur, qui peut notamment lire la température actuelle.

Il n’ya donc pas d’autre moyen d’obtenir ces informations si ce n’est un programme comme smartctlou hddtemp.


En outre, vous ne voulez pas vraiment gaspiller de précieuses ressources sur le contrôleur de disque dur, en l’interrogeant constamment sur la température lorsque vous voulez vraiment transférer des données. Sur les bus à bande passante élevée et les périphériques sur lesquels le code est déjà exécuté (comme la lecture de capteurs de température du processeur), le problème est moins grave car il lit un registre dans le périphérique actuel, mais sur un disque dur, vous risquez de bloquer écrivez pendant plusieurs millisecondes pour obtenir la température.
Mokubai

Alors qu'est-ce que je peux faire? utilise smartctl ou hddtemp? et ensuite je poserai une autre question. Si hdd ne doit que passer par une puce différente de la référence du noyau, devez-vous installer hddtemp et smartctl séparément sur tous les systèmes d'exploitation? (Dans Ubuntu ce n'était pas l'installation par défaut), d'autres moyens? Merci de répondre.

Oui, le moyen le plus simple est simplement d'appeler périodiquement smartctlet hddtemp, et oui, vous devez les installer (ce qui ne devrait pas être un problème). Sinon, vous pouvez bien sûr extraire le code et écrire votre propre programme ou plugin pour obtenir cette information. .
dirkt
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.