Resumen
Tengo un problema en el que usar Expose para arrastrar una ventana de un espacio a otro provoca una desaceleración enorme que parece casi cómica, como si la máquina se convirtiera en un tablero de ouija y cargara picos fácilmente a más de 200 (!) durante el tiempo que dura a través de "ataques"
Aquí hay un video de la incidencia de este problema.
Condiciones
Tutorial del problema
Invoco las Pantallas en el encabezado de cada "Escritorio" usando Expose e intento mover una ventana de una Pantalla a otra
El comportamiento de mover una ventana mientras la arrastro tiene acción donde el retraso de los movimientos de arrastre entra en un estado de cámara lenta fantasmal. donde el movimiento sigue una especie de patrón "poseído".
Efectos secundarios
Pico de carga masiva
La razón inmediata de esto parecería que la carga del sistema, que ya se estaba ejecutando entre 3 y 4 (la computadora tiene 4 CPU efectivas, por lo que justo debajo de la eficiencia nominal cuando está efectivamente inactiva por la entrada humana, se disparará a un número muy alto ( más de 100 o 200 mientras realiza estas payasadas) y la carga tardará varios minutos en "estabilizarse" después de que se detengan los efectos de cámara lenta, y eso es solo para que baje de 200 a aproximadamente 25 donde se estabilizará por fácilmente otros otros 10 minutos.
Puesta en cola de los procesos del sistema
Como todavía estoy en el proceso de construir mi computadora desde cero en base a un documento de plantilla de compilación que hice para instalar manualmente la configuración de mis herramientas de software en una máquina nueva, esto me parece enormemente desconcertante.
Detalles de construcción
brew cask install
o cualquier software que pueda.Conclusiones iniciales
No tengo idea si estas aplicaciones tienen alguna correlación con este comportamiento o no. Cuando esto sucede, a menudo surgen procesos del sistema y consumen más del 50% de la CPU, pero lo atribuyo al hecho de que están en cola debido a la carga absurdamente alta y más un síntoma que una causa de mis problemas. Incluso renuncié a Chrome para Safari en un intento de hacer un mejor uso de los recursos compartidos y minimizar las desviaciones del nido de Apple. Ya activé "Reducir movimiento" y "Reducir transparencia" para Accesibilidad -> Pantalla, pero no tuvo ningún impacto.
¿Posible problema de calor?
Una teoría que tenía era que mis ventiladores están sucios y no enfrían bien mi CPU. Tuve problemas de rendimiento cuando esta máquina ejecutaba Mojave con bloqueos de 30 a 90 segundos, pero dado que la actualicé a través de al menos 3 versiones del sistema operativo, lo atribuí a KEXT cruft u otro software basura que usaba cuando era menos cuidadoso . Los ventiladores giran bien cuando las CPU se calientan, pero la temperatura del núcleo de la CPU oscila entre 70 °C y 80 °C incluso cuando la carga es inferior a 4. Por lo tanto, me pregunto si todo esto es simplemente un recorte de la CPU por el calor, pero No sé dónde la temperatura inducirá este mecanismo de seguridad. Si simplemente no puedo descartar el flujo de aire bloqueado, abriré este bebé y le daré una ráfaga de aire enlatado, pero dado que reemplacé los ventiladores y la batería hace solo 14 meses, sería sorprendente ya que no trabajo en una fábrica de pelusa.
Lo que espero lograr publicando esto
En cualquier caso, aunque no espero que nadie identifique por qué Expose se está comportando de esta manera (aunque estaría agradecido por algunos consejos para solucionar problemas, ya que solo llevo unos días usando Catalina). Lo que esperaba era si alguien estaba consciente de cómo podría desactivar cualquiera de las funciones de animación gratuitas introducidas por Catalina que podrían estar exacerbando este problema.
Actualización 11/11/19 17:20
Después de ejecutar en modo seguro y cargar casi todas las aplicaciones, no pude replicar el problema, aunque definitivamente se vieron afectadas cosas como el desplazamiento. No parecía haber ningún problema de temperatura y los picos de más de 90 ° disminuyeron rápidamente, por lo que, a menos que se trate de un problema de acumulación lenta de calor, no creo que sea eso.
Una cosa que no mencioné fue que cuando ocurrió este problema, había 3,7 GB en el espacio de intercambio de 5 GB. Iniciar la máquina normalmente y ejecutar las aplicaciones como lo hice en modo seguro tampoco recreó esos problemas, pero el intercambio aún no se usa. Debería haber notado esto, pero en el pasado, correlacioné la lentitud de la animación Expose con cuánto hay en intercambio.
Mi nueva teoría es que se está produciendo una fuga de memoria que consume memoria virtual y que la lentitud y la carga son el resultado de una paginación incesante. Creo que solo podré corroborar esto después de dejar que mi máquina tenga un tiempo de actividad de más de uno o dos días con muchas aplicaciones abiertas para poder ver. Entonces puedo identificar qué aplicaciones tienen las tasas de página más altas.
Actualización 12/11/19 01:54
Después de abrirlo y no ver mucho polvo, levanté la placa de enfriamiento para verificar la pasta térmica que estaba seca y apenas presente. Agregué un poco de pasta fresca después de limpiar ambas superficies, pero no estoy seguro de si usé demasiado o si las superficies no estaban lo suficientemente limpias, pero encuentro que las temperaturas parecen aumentar a más de 100 ° C ocasionalmente y en general se calienta más, aunque el calor los picos son solo instantáneos.
Ejecuté GeekBench tanto antes como después, tanto en modo seguro como normal, y los resultados de rendimiento fueron efectivamente los mismos. Los resultados son en realidad un poco más altos que los puntos de referencia establecidos para mi modelo. Parece terriblemente caliente pero no está afectando el rendimiento. Habiendo leído artículos que indican que el i7 puede operar de manera segura a 100°C (aunque algunas autoridades dicen que es demasiado caliente para cualquier duración).
Instalé Intel Power Gadget y muestra que mi reloj excedente es de aproximadamente 2,45 GHz, pero alcanza un máximo de 3,1 GHz, por lo que no creo que se esté recortando. Aún así, el misterio del rendimiento abunda, pero una cosa es segura: ¡se necesitan días, si no semanas, para que se complete toda la limpieza de Catalina en los medios y las imágenes!
Es muy probable que tenga un error de hardware, como que los ventiladores no funcionen, la pasta térmica no se haya aplicado correctamente, las rejillas de ventilación estén bloqueadas o similar.
Un promedio de carga de 3-4 cuando la máquina está inactiva definitivamente no es normal. Su máquina es una máquina de doble núcleo: HyperThreading realmente no hace que sea sensato contar eso como 4 núcleos (no es tan bueno como los núcleos separados). Una carga promedio. de 3-4 significa que la computadora está muy cargada.
El promedio de carga alto podría provenir de la limitación térmica (ya sea a través de kernel_task que obliga a la CPU a dormir, o simplemente a la limitación de frecuencia). También podría provenir de otras fuentes, como un disco que funciona mal, aunque lo más probable es que también experimente otros problemas.
Recomendaré arrancar en el modo de recuperación de Internet para verificar si todavía tiene un promedio de carga alto y un rendimiento lento allí. Si lo hace, entonces no es un problema de software.
Acciones tomadas
Mi solución involucró lo siguiente:
Limpieza del hardware
Desarmé mi MacBookPro y descubrí que había un poco de polvo acumulado en el ventilador y aproximadamente el 10 % de las aletas del disipador de calor estaban bloqueadas con pelusa. También había algunas motas de polvo y puntos al azar en el tablero y en los bolsillos del chasis. No parecía mucho polvo, pero lo exploté con aire comprimido de todos modos.
Del mismo modo, estaba encantado de que todavía tuviera un nuevo tubo de pasta térmica en el juego de herramientas de mi computadora. Después de desatornillar la cincha de la placa del disipador de calor del núcleo de la CPU, vi que la pasta vieja estaba casi seca y muy anémica. Usé un paño seco para limpiar ambas superficies y apliqué pasta fresca y la volví a apretar. Sin embargo, es posible que haya usado demasiada pasta ya que había un exceso exprimido por los lados. La cincha estaba lo más apretada posible sin apretar demasiado y correr el riesgo de pelar las cabezas, cortar los tornillos o arrancar la rosca. El objetivo era garantizar que no hubiera forma de que quedaran burbujas de aire atrapadas en la pasta que pudieran calentarse y reducir el área de la superficie donde la pasta entraba en contacto con ambas superficies.
Software
Antes de abordar el tema del enfriamiento, agregué y configuré tres utilidades:
Lecturas y controles de temperatura/ventilador: Menús iStat / Control de ventilador de Mac
Ambas utilidades tienen la capacidad de medir la velocidad del ventilador y la temperatura de la CPU, ambas tienen una versión de prueba, pero iStat Menus lee alrededor de dos docenas de otros sensores de temperatura en todo el sistema, mientras que MFC solo lee la temperatura del núcleo de la CPU. Si bien primero usé MFS, luego descubrí que iSM es la mejor opción en general, ya que tiene una utilidad mucho más allá de la administración de temperatura y ventiladores, por lo que pagué $ 10 para usarlo como una pantalla de métrica general.
MFC tiene un control de ventilador limitado en el modo de prueba, mientras que los menús de iStat son completamente funcionales, donde puede crear reglas de velocidad de ventilador personalizadas para que pueda probarlo antes de comprarlo para ver si es para usted. Además, para ser justos, iSM y MFC no son realmente comparables en alcance, ya que iSM le permite crear gráficos personalizables extensos para casi todas las métricas imaginables del sistema.
Además, iSM parece medir estadísticas que ya se informan de forma muy similar /proc
a Linux. Para probar, al ejecutar con y sin iSM, vi poca variación en el rendimiento (usando el Monitor de actividad, que no recomiendo ejecutar indefinidamente ya que usa muchos recursos en términos relativos). Incluso la huella de memoria de los elementos de la interfaz de usuario de iSM es de solo 35 MB, menos de 1/4 del Monitor de actividad, que también puede aumentar la carga de la CPU, lo que lo hace inapropiado como un monitor de tiempo completo como lo es iSM.
Si bien todavía tengo MFS instalado, realmente no lo uso a favor de iSM. Lo guardo en caso de que necesite tener un controlador de ventilador/velocímetro potencialmente más liviano que el iSM, pero aún no lo he necesitado.
Medición del reloj de la CPU: Intel Power Gadget
Además de iSM, Intel Power Gadget brinda visibilidad de la velocidad variable de la CPU, que en realidad fluctúa constantemente según la demanda del sistema. No estoy seguro de que esta herramienta registre "recorte" como resultado del sobrecalentamiento, pero no puedo imaginar por qué no lo haría. Al igual que iSM, también proporciona amplias funciones gráficas. Además, proporciona una nueva métrica de la velocidad de la CPU como un punto de datos que iSM ahora incluye en las métricas de la CPU y aparece justo al lado de la temperatura del núcleo de la CPU para facilitar el seguimiento. Ni siquiera es necesario que la herramienta esté ejecutándose para leer esto: ¡se agrega al resto de las métricas del sistema que iStat puede leer! Este fue un gran descubrimiento y agregó una métrica crucial de la que carecía antes.
Resultados
Para establecer un punto de referencia de velocidad, utilicé Geekbench 5 para obtener una línea de base antes y después de la limpieza y el ajuste del sistema de refrigeración. También lo ejecuté en modo seguro y en modo normal (con la menor ejecución posible, aunque esto no fue una prueba pura, ya que cosas como el fotoanálisis a menudo funcionaban en segundo plano). Aún así, lo que encontré fue muy sorprendente: si bien el rendimiento mejoró drásticamente cuando se controló el calor, las mediciones después de la limpieza mostraron que la CPU alcanzó temperaturas más altas en los picos. Tengo una hipótesis de por qué, sin embargo.
Mejoras de rendimiento
Antes de limpiar el sistema de enfriamiento y agregar pasta fresca, las pruebas de banco mostraron clasificaciones de CPU simple/múltiple en alrededor de 700/1775 al inicio, tanto antes como después de la limpieza. Hacer funcionar los ventiladores al máximo en todo momento en lugar de limpiar el enfriamiento no cambió el rendimiento de manera apreciable. Además, esa medida en realidad está justo por encima del promedio declarado de Geekbench para mi máquina. (Las pruebas de modo seguro en realidad fueron entre un 5 y un 10 % más lentas).
Mientras esperaba que mi máquina se ralentizara por el calor o la hinchazón del uso de intercambio y el desgaste de las entradas y salidas de página, el hecho de que había impuesto reglas de velocidad de ventilador más agresivas con iSM parecía mantener los picos de calor bajo control. Además, después de la limpieza, incluso si devuelvo las reglas de velocidad del ventilador a los valores predeterminados del sistema como antes, no pude recrear los problemas de bloqueo a pesar de que la temperatura de la CPU informaba que era de 10°C para una carga alta sostenida. Parecería que la CPU puede calentarse más que el pensamiento anterior para que la CPU se corte porque pude ver que la velocidad de mi CPU estaba en modo "turbo" a 3,4 GHz cuando ejecuté una prueba de CPU de GB. Incluso bajo coacción extrema con configuraciones de ventilador que permiten que la CPU alcance temperaturas de más de 100 °C durante más de 30 segundos, las mejoras en el rendimiento general fueron profundas y la máquina solo en una usabilidad anecdótica. Los desagradables problemas con Expose/Mission Control no se repitieron.
Picos aparentes de alta temperatura
Es cierto que hay una anomalía que inicialmente no tenía sentido. Antes de limpiarlo y simplemente hacer funcionar el ventilador a la velocidad máxima, las temperaturas de la CPU tenían un piso alto incluso en reposo de 65°-75°C, pero la temperatura máxima medida nunca parecía superar los 90°C. Después de la limpieza, el comportamiento de la medición fue muy diferente. Si bien la temperatura del piso en reposo era más baja con los valores predeterminados del ventilador cuando estaba inactivo (a veces tan bajo como 40 °C), noté que la temperatura del núcleo de la CPU fluctúa enormemente con la carga (y las velocidades de la CPU) donde antes las mediciones mostraban una temperatura mucho más gradual. cambiar a pesar de que el sondeo y la actualización de la medición fueron los mismos. Además, aparte del calentamiento y enfriamiento más rápido de los sensores, las lecturas máximas ocasionalmente alcanzaron un máximo de más de 100 ° cuando nunca antes se informó que estaba tan caliente.
Conclusiones
TL;DR: Sacar el polvo del sistema de enfriamiento y aumentar las velocidades del ventilador como umbrales de temperatura específicos es lo que se necesitó para que mi máquina volviera a su estado saludable. Además, la CPU i7 tiene una frecuencia de reloj variable que es una característica de ahorro de energía, no solo un acelerador para cuando el calor aumenta, al menos no en condiciones normales de funcionamiento. Agregar algunas buenas métricas que no gravan el sistema es crucial para ver algo más que una mejora anecdóticamente notable e iState Menus parece una excelente opción si tiene hambre de datos. Existen herramientas de código abierto y de línea de comandos más livianas para los puristas.
Espero que este extenso desglose haya sido útil. Descubrí que valía la pena entrar en todos los detalles, incluso si había alguna redundancia.
darf nader
darf nader
jksoegaard
darf nader
jksoegaard