J'ai trouvé un moyen de faire facilement ce que dit le titre dans un environnement CLI, alors prenez note
/ dev / cpu / * / msr n'existe pas, chargez-le avec` `` `modprobe msr
sudo rdmsr 0x198 -u --bitfield 47:32
awk "BEGIN { print $(sudo rdmsr 0x198 -u --bitfield 47:32)/8192 }"
bc
Mais c'est d'accord,awk
Je pense que c'est définitivement installé.
watch -n 1 'awk "BEGIN { print $(sudo rdmsr 0x198 -u --bitfield 47:32)/8192 }"'
L'adresse 0x198 du registre MSR (Model Specific Register) du CPU est nommée MSR_PERF_STATUS '' et la tension du cœur est stockée dans le bit [47:32]. Lisez ceci avec la commande
`` rdmsr``` et convertissez-le pour une meilleure lisibilité.
Selon le manuel
P-state core voltage can be computed by MSR_PERF_STATUS[37:32] * (float) 1/(2^13).
Donc, je divise la valeur lue par 8192. (↑ [37:32], mais peut-être une erreur)
--Instruction: Manuel du développeur de logiciels des architectures Intel 64 et IA-32 - https://software.intel.com/content/www/us/en/develop/download/intel-64-and-ia-32-architectures-software-developers-manual-volume-4-model-specific-registers.html
Cependant, la définition du bit [47:32] de ce registre se trouve uniquement dans le tableau 2-20 de Sandy Bridge, et il n'y a pas de description pour les autres générations. Selon le manuel, MSR_hoge est défini pour chaque génération, il peut donc être écrasé. En fait, dans la génération Core (comme core2duo), les bits [46,44: 40] ont des définitions différentes.
J'ai cherché à savoir si la valeur était garantie lors de la lecture de ceci avec un processeur de la génération après Sandy Bridge, mais je n'étais pas sûr car l'interprétation était cassée. Cependant, il n'y a pas de définition de remplacement. Je peux lire ce genre de valeur sur mon lac Kaby.
Veuillez me faire savoir s'il existe une méthode plus fiable.
Recommended Posts