¿Hay alguna manera de ver la frecuencia actual de la CPU en macOS desde la terminal (no el gadget de alimentación Intel)?

11

Soy consciente de estas respuestas:

enlace

Ver el reloj actual Velocidad de una CPU en OS X?

¿Qué se refiere a Intel Power Gadget como una manera de obtener la frecuencia actual de la CPU, hay un programa / método para obtener esta información del terminal?

sysctl hw.cpufrequency solo muestra la frecuencia nominal de la CPU, es decir, lo que el fabricante ha indicado. No considera Turbo Boost o frecuencias más bajas cuando la CPU está inactiva. (Por ejemplo, si la CPU es i5, 1.4GHz, siempre indicará 1.4GHz)

La solución C que se le dio SO utilizando sysctl.h tiene el mismo efecto.

    
pregunta amanusk 29.06.2018 - 10:23

3 respuestas

4

Debido a que su comentario menciona que realmente solo está enfocado en habilitar Terminal (o más precisamente no en el escritorio) ...

Creo que el Intel Power Gadget te ayudará a obtener tu información de Terminal. De Intel :

  

Intel® Power Gadget también proporciona una Interfaz de programación de aplicaciones (API) C / C ++ para acceder a estos datos de potencia y frecuencia en su programa; la API es compatible con Windows y Mac OS X. Para obtener más información sobre las API, consulte:

Y en esa misma página, también un enlace a Uso de la API Intel Power Gadget en Mac OS X

Lo siento, este no es un enlace a una solución lista para usar; Pasé unos minutos con google para ver si podía encontrar a alguien que ya haya hecho esto sin suerte.

    
respondido por el webmarc 03.07.2018 - 20:57
2

Prueba top -F -n0 -s3 | grep "CPU usage"

top muestra y actualiza la información ordenada sobre los procesos
-F no calcula estadísticas en bibliotecas compartidas (frameworks)
-n0 muestra cero procesos (porque no estamos interesados en ellos)
-s3 se actualiza cada 3 segundos (el valor predeterminado es 1)
grep nos muestra solo la línea que contiene la frase uso de CPU

Salida de ejemplo:

$ top -F -n0 -s3 | grep "CPU usage"
CPU usage: 9.36% user, 20.0% sys, 70.63% idle 
CPU usage: 8.35% user, 8.19% sys, 83.45% idle 
CPU usage: 8.18% user, 7.77% sys, 84.4% idle 
CPU usage: 5.89% user, 8.1% sys, 86.8% idle

Incluso puedes analizar la salida para mostrarla en otro lugar.

Tenga en cuenta que top consume muchos recursos mientras se ejecuta.

Edit: Ah, quieres frecuencia. Sé que iStat Menus tiene que instalar un ayudante para obtener esa información en tiempo real.

    
respondido por el Matt Sephton 05.07.2018 - 12:54
1

Tengo que pensar que esto es un poco como una pregunta X Y en que "¿Qué vas a hacer una vez que obtengas este número?" y quiero responder eso directamente, pero profundicemos un poco en lo que estás tratando de medir. Las interrupciones de la CPU en macOS se configuran en intervalos de 150 ms y gran parte de este detalle es público desde la WWDC 2013 y más adelante en la administración de energía, App Nap ( La sesión 209 en particular es buena y accesible ) y optimizaciones de duración de la batería en macOS.

DadoqueelcódigoycadanúcleodeunaCPUpuedenyvanacambiarcientosdevecesporsegundoenfuncióndefactoresdecargaefímeros,optimizacionesdepotenciaquetienenencuentaloqueseveenlapantalla,quédatosdelaredllegan,laideadequeunatecnologíamodernaLaCPUinclusotieneunafrecuenciadereloj"común" en cualquier punto del tiempo parece simplificar en gran medida la realidad . Con 8 núcleos en muchos MacBook Pro y docenas de núcleos en el iMac Pro, estás reduciendo la complejidad a un solo número.

Es menos probable que se midan fácilmente los aumentos cuando un solo núcleo puede ejecutarse cronometrado, pero se puede medir la regulación térmica de manera muy simple con el registro térmico de pmset .

pmset -g therm

Por supuesto, puede registrar los cambios espontáneos en la regulación térmica de la CPU con pmset -g thermlog y luego asignarlos a las especificaciones de la CPU si puede reunirlos en otro lugar.

    
respondido por el bmike 07.07.2018 - 01:21

Lea otras preguntas en las etiquetas