0 votos

La tarea de uso intensivo de la CPU en Big Sur es muy rápida durante 5 minutos, luego es muy lenta

Estoy ejecutando la compilación de un gran programa en Mac Os Big Sur en un Mac Mini M1. Estoy usando cmake, ninja, con paralelismo de 7 (hay 8 núcleos). Va realmente muy rápido durante los primeros cinco minutos, luego realmente muy lento. ¿Qué está pasando? No oigo ningún ventilador, y el pequeño flujo de aire que sale del ordenador no parece calentarse en absoluto. ¿Qué puedo hacer?

1voto

rybosome Puntos 1829

Podemos profundizar para entender qué es lo que consume el tiempo, pero permítanme decir de antemano que esto puede ser un comportamiento normal . He visto muchos casos en los que una fase de compilación o enlace lleva mucho tiempo con proyectos grandes o complejos.

Sin embargo, dado que no estás viendo presión térmica y la utilización de la CPU baja al 10% durante la fase lenta, me inclino a sospechar que tu construcción se está serializando detrás de un proceso bloqueado.

Podemos empezar a entender qué proceso(s) está(n) bloqueado(s) tomando un stackshot durante la construcción:

  1. Ejecute el siguiente comando de Terminal para habilitar la simbología del kernel: $ sudo nvram boot-args="keepsyms=1"
  2. Reinicie su máquina y no abra ninguna aplicación excepto Terminal.
  3. Comienza tu construcción y espera hasta que hayas entrado en la fase lenta.
  4. Ejecute el siguiente comando, asegurándose de que sólo lo ejecuta durante la ventana de tiempo en que la construcción es lenta: $ sudo spindump -reveal -noProcessingWhileSampling
  5. Después de esperar 10 segundos para recoger una muestra y otro minuto o dos para simbolizar y formatear, obtendrá un archivo en /tmp/spindump.txt que contiene un stackshot de cada proceso.
  6. Sube el archivo a PasteBin o algún lugar equivalente.

Esa será la forma más directa de comenzar a causar root. Además, sólo para descartar la presión de la memoria, ¿tu sistema se "siente" lento durante la construcción? (Sospecho que no, pero usted debe ejecutar top en otra ventana de Terminal mientras construyes de todos modos y supervisas tu swapouts para ver si están creciendo).

Sin conocer ninguno de los detalles del código o su proceso de construcción, una conjetura cruda sería que está esperando en un recurso (por ejemplo, un servidor de red que es lento para resolver, o una búsqueda indirecta del sistema de archivos en una partición / disco lento). Si te apetece experimentar, intenta desactivar todas las interfaces de red, desmontar todas las particiones y desconectar todos los dispositivos.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X