¿Hay algún comando que pueda ejecutar desde la línea de comandos en OS X para obtener la temperatura actual de la CPU y/o la(s) velocidad(es) del ventilador?
Para ser más específico, me gustaría poder obtener la misma información disponible en el widget iStat en las pestañas Fans y Temps en la línea de comando.
Me gustaría poder encontrar estos valores en la línea de comando para que se pueda programar y conectar a una configuración de monitoreo en mi Mac. Tengo un deseo de nerd de datos de recopilar y graficar estos valores (y otras estadísticas) en mi MacBook a lo largo del tiempo.
En Linux, parece que esto sería posible leyendo un pseudoarchivo en el /proc
directorio, pero no estoy seguro de cómo hacer el equivalente en OS X (si existe).
Opción n. ° 1) puede considerar usar powermetrics de utilidad incorporados para obtener la temperatura de la CPU y la GPU y muchos más detalles.
Para obtener la temperatura de la CPU:
sudo powermetrics --samplers smc |grep -i "CPU die temperature"
Para obtener la temperatura de la GPU:
sudo powermetrics --samplers smc |grep -i "GPU die temperature"
Para obtener muchos más detalles:
sudo powermetrics
Esto ha sido probado en macbook pro con macOS mojave.
Opción #2) Instale Intel® Power Gadget proporcionado oficialmente por Intel desde aquí
Intel® Power Gadget y luego inicie Intel Power Gadget desde la plataforma de lanzamiento.
Pantalla de resultados:
sudo powermetrics --samplers smc -i1 -n1
para obtener una sola muestra instantánea de las lecturas del sensor SMC, incluida la temperatura de la CPU y la GPU y la velocidad del ventilador.unrecognized sampler: smc
sudo powermetrics
funciona en m1? si es así, puede encontrar alguna otra forma de limitar la lectura del sensor a la cuenta 1.La gema de rubí iStats le permite ver la temperatura de la CPU a través de la línea de comandos.
$ gem install iStats
$ istats all
sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future gem install iStats
watch -n0 istats
(Tuve que hacerlo brew install watch
en OSX antes de hacer lo anterior) Consulte: superuser.com/q/361902watch --color istats
.istats
comando desde cualquier ruta.sudo
. En su lugar, utilizagem install --user-install iStats
gem install --user-install iStats
, pero cuando intento ejecutarlo istats
, aparece un mensaje de "comando no encontrado"./usr/local/bin
parte de tu $PATH
?istats
ahora lo uso muy regularmente. Pero hoy descubrí istats scan
, que da muchas más lecturas todavía. Gracias por esta gran joya!En los sistemas BSD, la sysctl
utilidad puede proporcionar información similar a la del /proc
árbol en Linux. En realidad, informa sobre la temperatura de la CPU/GPU desde Xnu CPU Power Management (XCPM):
sysctl machdep.xcpm.cpu_thermal_level
sysctl machdep.xcpm.gpu_thermal_level
Sin embargo, esto no parece ser una lectura de temperatura, sino solo una indicación del nivel de temperatura en comparación con alguna referencia.
machdep.xcpm.cpu_thermal_level: 0
y machdep.xcpm.gpu_thermal_level: 0
en Macos 10.12machdep.xcpm.cpu_thermal_level: 58
)powermetrics
también muestra algunos "niveles térmicos" como 0, pero también muestra las temperaturas de la CPU/GPU, que es lo que realmente me importa (y me imagino que a todos los demás). Vea la respuesta de Satish y el comentario de @rjmunro.powermetrics
comando?Esta utilidad de línea de comandos de código abierto funcionó para mí: https://github.com/lavoiesl/osx-cpu-temp .
brew install osx-cpu-temp
0.0°C
sobre mac studio (brazo)Actualización: @PressingOnAlways me ha notificado que este software ahora se considera heredado por su desarrollador. Se pueden encontrar más detalles sobre el soporte detenido en su sitio web de software heredado .
Instale Temperature Monitor y, suponiendo que lo instaló en /Applications
, ejecute lo siguiente:/Applications/TemperatureMonitor.app/Contents/MacOS/tempmonitor -c -l -a
También puede usar el Monitor de hardware actualizado (aunque ya no está en desarrollo, pero se puede descargar) del mismo autor:/Applications/to/HardwareMonitor.app/Contents/MacOS/hwmonitor
tempmonitor
de homebrewtempmonitor
no muestra la velocidad del ventilador/path/to/HardwareMonitor.app/Contents/MacOS/hwmonitor
en la terminalEl muestreador SMC no está disponible en el M1 (o en Big Sur, no estoy seguro de cuál). Puede obtener frecuencias y uso de energía para CPU y GPU con powermetrics, pero no la temperatura, que yo sepa.
Es probable que aún se pueda leer la temperatura en el SMC, pero parece que las teclas cambiaron para el M1 e incluso podrían ser diferentes entre los modelos M1.
OS X no ofrece esta funcionalidad. smcFanControl y los widgets iStat son las opciones habituales para este problema. Yo personalmente uso smcFanControl. Me da tanto la temperatura como la capacidad de monitorear el funcionamiento del ventilador.
Hay 2 formas principales de ver las estadísticas de su CPU si no desea instalar software adicional, puede ver muchos detalles desde la terminal / línea de comando.
1 #
escriba en la terminal...
sudo powermetrics
y en la parte de abajo veras lo siguiente...
**** 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
o #2
o intente escribir ... (¿pero Apple tal vez eliminó los detalles de esto a solo los números 0 o 1?)
sysctl -a | grep cpu | more
o detalles térmicos / de temperatura solamente?
sysctl -a | grep thermal
la salida debería verse así...
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
Notarás los detalles de la frecuencia y también algo de información térmica... también puedes "grep térmica" si solo estás interesado en eso...
:)
¡ La herramienta osx-cpu-temp
funciona perfectamente para mí! (gracias) Hice un pequeño script para activar el valor cada segundo y embellecer la salida (se usa toilet
para la salida bonita):
while true; do; clear; osx-cpu-temp | toilet -f smblock; sleep 1; done;
Usando ITerm2, hice un perfil que lanza este comando justo después de iniciar sesión. ITerm2 también puede almacenar un arreglo de ventana, así que almacené uno con tty-clock
, htop
y mi comando (lo denominó cpu-temp
) del tamaño de una barra de estado, con una fuente muy pequeña.
Traté de mejorar la opción n. ° 1 de la respuesta de Satish para mostrar información relacionada con los sensores SMC:
sudo powermetrics | sed -n '/\*\*\*\* SMC sensors \*\*\*\*/,/Number of prochots/p'
No estoy seguro de que esto sea posible sin herramientas externas, pero si está buscando algo pequeño/ligero (y de código abierto), le recomiendo Stats .
Incluye una herramienta de línea de comandos, a /Applications/Stats.app/Contents/Resources/smc
la que se puede vincular /usr/local/bin
para mayor comodidad.
Por ejemplo, para enumerar todas las temperaturas/sensores:
smc list -t
Se puede acceder a los valores smc para los sensores de temperatura a través de ObjectiveC con enlaces rápidos y varias bibliotecas y paquetes de Python aprovechan esto para facilitar la extracción de valores.
https://github.com/nicolargo/miradas
Este en python tiene una actualización automática y colores incorporados y se puede instalar con un simple comando curl o wget si ya se cumplen los requisitos.
Requisitos
En mi MacMini de mediados de 2011 con OSX 10.13.6, uso smc
para configurar y verificar la velocidad del ventilador más osx-cpu-temp
la temperatura.
Otra nueva herramienta CLI que hace esto muy bien es iSMC: https://github.com/dkorunic/iSMC
Aquí hay una captura de pantalla de algunos de los resultados:
No muestra la temperatura de eGPU, pero esa información existe en ioreg
alguna parte. Puede extraer algunas estadísticas sobre su GPU/eGPU manualmente desde ioreg con esto:
ioreg -l | grep '"PerformanceStatistics"' | sed -E "s/,/\\n/g;s/\"//g" | grep -E "(temp|power|Device Utilization|Fan|speed|GPU Activity)"
Si tiene varias GPU, sus estadísticas se mezclarán. Selecciono solo mi Vega 56 eGPU así:
ioreg -c AMDRadeonX5000_AMDVega10GraphicsAccelerator -r -l | grep '"PerformanceStatistics"' | sed -E "s/,/\\n/g;s/\"//g" | grep -E "(temp|power|Device Utilization|Fan|speed|GPU Activity)"
...
Device Utilization %=7
Fan Speed(%)=0
GPU Activity(%)=16
Fan Speed(RPM)=0
Temperature(C)=36
Total Power(W)=35
arco676
brillo del alma
Ruscos
Top Master
benwiggy