319 votes

Puis-je obtenir la température du CPU et la vitesse du ventilateur à partir de la ligne de commande dans OS X ?

Existe-t-il une commande que je peux exécuter à partir de la ligne de commande dans OS X pour obtenir la température actuelle du processeur et/ou la vitesse du ou des ventilateurs ?

Pour être plus précis, j'aimerais pouvoir obtenir les mêmes informations que celles qui sont disponibles dans la base de données de la Commission européenne. widget iStat sous les onglets Ventilateurs et Températures de la ligne de commande.

J'aimerais pouvoir trouver ces valeurs en ligne de commande afin de pouvoir les scripter et les brancher sur une installation de surveillance sur mon Mac - j'ai le désir, en tant qu'amateur de données, de collecter et de représenter graphiquement ces valeurs (et d'autres statistiques) sur mon Macbook au fil du temps.

Sous Linux, il semble que cela soit possible en lisant un pseudo-fichier sous l'extension /proc mais je ne sais pas comment faire l'équivalent sous OS X (s'il existe).

0 votes

Il suffit d'installer smcFanControl Application open-source qui indique la vitesse actuelle à côté de l'horloge (en plus de permettre un changement manuel).

6voto

Rishab Surana Points 131

L'échantillonneur SMC n'est pas disponible sur la M1 (ou sur Big Sur, je ne sais plus lequel). Vous pouvez obtenir les fréquences et la consommation d'énergie pour le CPU et le GPU avec powermetrics, mais pas la température, pour autant que je sache.

La température peut probablement encore être lue sur le SMC, mais il semble que les touches aient changé pour le M1, et pourraient même être différentes entre les modèles M1.

4voto

Asher Points 217

Il y a deux façons principales de visualiser les statistiques de votre CPU. Si vous ne voulez pas installer de logiciel supplémentaire, vous pouvez visualiser beaucoup de détails à partir du terminal / de la ligne de commande.

1 #

tapez sur le terminal...

sudo powermetrics

et en bas, vous verrez ce qui suit...

**** SMC sensors ****

CPU Thermal level: 51
GPU Thermal level: 35
IO Thermal level: 1
Fan: 2060 rpm 
CPU die temperature: 88.36 C (fan) 
GPU die temperature: 74.38 C 
CPU Plimit: 0.00 
GPU Plimit (Int): 0.00  
GPU2 Plimit (Ext1): 0.00

ou #2

ou essayez de taper.. (mais apple a peut-être supprimé les détails de ce qui est juste les chiffres 0 ou 1 ?)

sysctl -a | grep cpu | more

ou des détails thermiques / de température uniquement ?

sysctl -a | grep thermal 

la sortie devrait ressembler à ceci...

hw.ncpu: 8
hw.activecpu: 8
hw.physicalcpu: 4
hw.physicalcpu_max: 4
hw.logicalcpu: 8
hw.logicalcpu_max: 8
hw.cputype: 7
hw.cpusubtype: 8
hw.cpu64bit_capable: 1
hw.cpufamily: 280134364
hw.cpufrequency: 2800000000
hw.cpufrequency_min: 2800000000
hw.cpufrequency_max: 2800000000
hw.cputhreadtype: 1
machdep.cpu.max_basic: 13
machdep.cpu.max_ext: 2147483656
machdep.cpu.vendor: GenuineIntel
machdep.cpu.brand_string: Intel(R) Core(TM) i7-4980HQ CPU @ 2.80GHz
machdep.cpu.family: 6
machdep.cpu.model: 70
machdep.cpu.extmodel: 4
machdep.cpu.extfamily: 0
machdep.cpu.stepping: 1
machdep.cpu.feature_bits: 9221960xxxxxx657855
machdep.cpu.leaf7_feature_bits: 10155 0
machdep.cpu.leaf7_feature_bits_edx: 261xxxxxx2
machdep.cpu.extfeature_bits: 1424xxxxxx52
machdep.cpu.signature: 263777
machdep.cpu.brand: 0
machdep.cpu.features: FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT PSE36 CLFSH DS ACPI MMX FXSR SSE SSE2 SS HTT TM PBE SSE3 PCLMULQDQ DTES64 MON DSCPL VMX SMX EST TM2 SSSE3 FMA CX16 TPR PDCM SSE4.1 SSE4.2 x2APIC MOVBE POPCNT AES PCID XSAVE OSXSAVE SEGLIM64 TSCTMR AVX1.0 RDRAND F16C
machdep.cpu.leaf7_features: RDWRFSGS TSC_THREAD_OFFSET BMI1 AVX2 SMEP BMI2 ERMS INVPCID FPU_CSDS MDCLEAR IBRS STIBP L1DF SSBD
machdep.cpu.extfeatures: SYSCALL XD 1GBPAGE EM64T LAHF LZCNT RDTSCP TSCI
machdep.cpu.logical_per_package: 16
machdep.cpu.cores_per_package: 8
machdep.cpu.microcode_version: 28
machdep.cpu.processor_flag: 5
machdep.cpu.mwait.linesize_min: 64
machdep.cpu.mwait.linesize_max: 64
machdep.cpu.mwait.extensions: 3
machdep.cpu.mwait.sub_Cstates: 270624
machdep.cpu.thermal.sensor: 1
machdep.cpu.thermal.dynamic_acceleration: 1
machdep.cpu.thermal.invariant_APIC_timer: 1
machdep.cpu.thermal.thresholds: 2
machdep.cpu.thermal.ACNT_MCNT: 1
machdep.cpu.thermal.core_power_limits: 1
machdep.cpu.thermal.fine_grain_clock_mod: 1
machdep.cpu.thermal.package_thermal_intr: 1
machdep.cpu.thermal.hardware_feedback: 0
machdep.cpu.thermal.energy_policy: 1
machdep.cpu.xsave.extended_state: 7 832 832 0
machdep.cpu.xsave.extended_state1: 1 0 0 0
machdep.cpu.arch_perf.version: 3
machdep.cpu.arch_perf.number: 4
machdep.cpu.arch_perf.width: 48
machdep.cpu.arch_perf.events_number: 7
machdep.cpu.arch_perf.events: 0
machdep.cpu.arch_perf.fixed_number: 3
machdep.cpu.arch_perf.fixed_width: 48
machdep.cpu.cache.linesize: 64
machdep.cpu.cache.L2_associativity: 8
machdep.cpu.cache.size: 256
machdep.cpu.tlb.inst.large: 8
machdep.cpu.tlb.data.small: 64
machdep.cpu.tlb.data.small_level1: 64
machdep.cpu.tlb.shared: 1024
machdep.cpu.address_bits.physical: 39
machdep.cpu.address_bits.virtual: 48
machdep.cpu.core_count: 4
machdep.cpu.thread_count: 8
machdep.cpu.tsc_ccc.numerator: 0
machdep.cpu.tsc_ccc.denominator: 0
machdep.xcpm.cpu_thermal_level: 0
Vous remarquerez les détails de la fréquence et aussi quelques informations thermiques... vous pouvez aussi "grep thermal" si vous n'êtes intéressé que par cela...

)

0 votes

J'adorerais que sysctl indique réellement la température, ce serait tellement simple, rapide et intégré... mais il n'indique que 0 ou 1 sur un Mac Mini 2014 fonctionnant avec le dernier MacOS Mojave.

2voto

L'outil osx-cpu-temp fonctionne parfaitement pour moi ! (merci) J'ai fait un petit pour actionner la valeur chaque seconde et pour prétendre la sortie (il utilise toilet pour la jolie sortie) :

while true; do; clear; osx-cpu-temp | toilet -f smblock; sleep 1; done;

En utilisant ITerm2, j'ai créé un profil qui lance cette commande juste après la connexion. ITerm2 peut aussi stocker un arrangement de fenêtre, donc j'en ai stocké un avec tty-clock , htop et ma commande (nommée cpu-temp ) de la taille d'une barre d'état, avec une très petite police.

1voto

Soubok Points 3050

Je suis sous OSX 10.11

https://github.com/nicolargo/glances

Celui sur Python a une mise à jour automatique et des couleurs intégrées et peut être installé avec une simple commande curl ou wget si les conditions sont déjà remplies. Conditions requises

python >= 2.6 or >= 3.3 (tested with version 2.6, 2.7, 3.3, 3.4)
psutil >= 2.0.0
setuptools

3 votes

Glances ne me montre pas la vitesse du ventilateur et la température du processeur. (MBP 13" 2012, OSX 10.12)

0 votes

@agusti-pardo Sur MacOS 10.12 : psutil.cpu_temperature() AttributeError: 'module' object has no attribute 'cpu_temperature'

0 votes

@Agusti-Pardo > les températures ne sont actuellement pas supportées sur OSX Voir ceci : github.com/giampaolo/psutil/issues/1134#issuecomment-332173195

1voto

Kllngii Points 11

J'ai essayé d'améliorer option 1 de La réponse de Satish pour afficher les informations relatives aux capteurs du SMC :

sudo powermetrics | sed -n '/\*\*\*\* SMC sensors \*\*\*\*/,/Number of prochots/p'

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X