¿Qué desencadena los atracones de CPU de mi Finder?

13

Algunas veces a la semana, el Finder en mi Macbook dispara hasta alrededor del 100% de uso de la CPU, y los fanáticos comienzan a explotar.

Hice todo lo que se me ocurrió: permisos reparados, reinicio, preferencias desechadas, apagué "mostrar vista previa" en las opciones de vista, audité el Monitor de actividad en busca de procesos innecesarios, busqué errores en la consola, reinicié el Finder y mucho más . Finalmente desaparece, y supongo que la fuente del error fue lo último que cambié.

Pero lo está haciendo de nuevo ahora, y estoy perdido. Desearía que hubiera una manera de "entrar en la cabeza del Finder" y ver qué está haciendo. Intenté ejecutar una muestra del proceso Finder en Activity Monitor, pero honestamente no sé qué está haciendo, mucho menos cómo interpretar la salida.

Esa es realmente mi esperanza: que alguien pueda explicar una mejor manera de investigar picos de CPU como este, no solo en el Finder, sino en cualquier proceso descontrolado. Ciertamente, hay muchos detalles que podrían ayudarlos a todos a diagnosticar este caso específico, pero antes de que explique aún más información probablemente irrelevante, pensé ver si alguien tiene consejos generales para diagnosticar este tipo de cosas.

Esta es mi primera publicación de Stack-anything por cierto, así que por favor sé amable. ¡Gracias por adelantado!

Jesse Baer
fuente
La próxima vez que salga, corra top -o cpudesde la Terminal para comprender mejor lo que está sucediendo.
phwd
Puede usar lsofpara enumerar archivos abiertos. También podría ser útil fuser.
Por curiosidad, ¿tiene habilitado FileVault? ¿O asegurar la basura vacía?
Nathan Greenstein
Quizás mejor que lsofo fuseres fs_usage. Una combinación de esos tres, limitada solo al proceso que está acaparando la CPU (que se encuentra en la parte superior), debería ayudar, suponiendo que esté involucrada la E / S.
lsof parece muy útil. No encontré un archivo sospechoso específico para probar el fusor. Intentando fs_usage ahora mismo en configd (vea la respuesta a NSGod a continuación). @Nathan - no, tampoco.
Jesse Baer

Respuestas:

6

"Desearía que hubiera una manera de" entrar en la cabeza del Finder "y ver qué está haciendo. He intentado ejecutar una muestra del proceso del Finder en el Monitor de actividad, pero sinceramente, no sé qué está haciendo, mucho menos cómo para interpretar la salida ".

Tomar una muestra en Activity Monitor es exactamente eso: meterse en la cabeza del Finder para ver qué está haciendo. Si bien puede parecer griego, yo u otros aquí podemos interpretarlo por usted. Simplemente publíquelo o póngalo disponible para descargar o ver (ya que tienden a ser bastante grandes).

¿Qué versión de OS X estás usando? En OS X 10.5.xy versiones anteriores, creo que el contenido multimedia se ejecutó dentro del Finder, en lugar de delegarlo en un proceso de tipo agente / ayudante, por lo que el uso de la CPU puede parecer mayor. Por ejemplo, la vista previa de una película QuickTime puede hacer que el Finder 10.5.xy versiones anteriores alcance un 60% de CPU, mientras que en 10.6 se puede dividir en algo como 10% de CPU para el Finder, 30% de CPU en el proceso de fondo QTKitHelper.

De lo contrario, a veces he visto que el código que usa el Finder para calcular el tamaño del contenido de una carpeta causa picos temporales en la CPU. (Notará algo como TSomething::HFSSizerSomethingen el seguimiento de la pila de una muestra). Por lo general, parece insistente en finalizar su cálculo, incluso si la vista que había abierto que justificaba el cálculo se ha cerrado desde entonces.

En cualquier caso, ver la muestra debería ayudar a identificar el problema junto con saber qué contexto condujo al pico. Será más fácil explicar lo que está haciendo tomar una muestra una vez que la tengamos delante.

NSGod
fuente
Tenía el Finder configurado para mostrar archivos invisibles, y apagarlo parecía curar las cosas. Sin embargo, tuve esa configuración durante un tiempo, así que dudo en asumir que he curado el problema para siempre. Como mencioné, ha habido otros casos en los que pensé que había resuelto esto solo para ver que sucediera nuevamente.
Jesse Baer
(con la intención de agregar esto, pero la edición agotó el tiempo de espera ...) Parece que tenemos otra oportunidad para probar esto, de repente configd está tomando el 15-20% de mi CPU. No es horrible, pero inusual, y aparentemente suficiente, junto con Chrome y una oficina cálida, para activar mi ventilador ... Aquí está el resultado de la configuración de muestreo: pastebin.com/aEaSN1zc
Jesse Baer
3

Tienes DTrace disponible.

man -k DTrace

Esas herramientas, más fs_usage -f filesys deberían darle la respuesta.

chiggsy
fuente
1

Buen consejo hasta ahora. Compartiré alguna experiencia que tuve con un Powerbook en Tiger (pero como Leopard también tiene un proceso FatFinder, este problema también ocurriría en 10.5).

Recuerdo tener un AVI en una carpeta. El formato era extraño, no una simple película de Quicktime ni nada; En aquel entonces, las cámaras de los teléfonos celulares eran malas y usaban los peores códecs posibles jamás creados. Así que cada vez que fui a esa "carpeta" con Finder, se bloqueará, porque estaba tratando de "leer" el archivo y el códec era malo.

Finalmente, ya sea por suerte o porque lo olvidé (o lo eliminé), esto dejó de suceder. Pero me llevó un tiempo descubrir qué era. Recuerdo que este comportamiento exacto me sucedió en Leopard con un video "mal" también formateado. Quicklook colgaría el buscador con ese medio de comunicación.

Tuve que abrirlo con VLC para "repararlo". Y luego misteriosamente comenzó a funcionar nuevamente.

Le sugiero que intente vigilar sus patrones de uso antes del pico de CPU para ver si hay algo en común. Un tipo de archivo, una carpeta específica, una hora específica , etc.

En el momento de escribir esto, no conozco su versión de OS X (10.x?), Por lo que esta información puede estar un poco desactualizada si está ejecutando Snow Leopard.

Además, siga los consejos de intentar generar fs_usage, top y herramientas similares. Puede darnos una mejor pista. La salida de Console.app (/ Aplicaciones / Utilidades) podría arrojar algo de luz sobre el problema.

Martin Marconcini
fuente
Gracias, como habrás notado en mi respuesta a NSGod, el uso de la CPU Finder se ha reducido, pero ahora configd parece estar actuando, aunque ligeramente. No me suelen preocuparse por ello, pero me gustaría aquí está la salida de la consola del
Jesse Baer
última hora más o menos, que definitivamente abarca cuando configd comenzó a estar ocupado: pastebin.com/V8qpLuD2
Jesse Baer
1

Encontré que solo dos herramientas son ampliamente útiles para resolver problemas de alto uso de CPU en un programa aislado. Sí, el monitor de actividad puede muestrear y decirle dónde está colgado / procesando, pero creo que los instrumentos son más adecuados para llegar realmente al meollo del problema si fs_usage no puede. DTrace es increíble: nunca he necesitado pasar el tiempo aprendiéndolo: los instrumentos funcionan lo suficientemente bien y la curva de aprendizaje para mí fue mucho más baja.

  1. fs_usagey greplimitar los archivos a los que se accede a menudo me permite saber cuáles son los problemas y dónde están para poder tomar medidas para solucionarlos / ajustarlos.
  2. Aplicación de instrumentos: Xcode 3 se proporciona a desarrolladores gratuitos o Xcode 4 (comprado en la Mac App Store o como desarrollador pago). Piense en esto como un monitor de muestra / actividad con esteroides: puede examinar cosas como la asignación / pérdidas de memoria y obtener una vista mucho más amplia de lo que sucede dentro de un proceso lento mientras se ejecuta.
bmike
fuente
1

Había estado plagado de un uso elevado de CPU Finder durante algunas semanas (80-100%). Finalmente descubrí que se debía a mi configuración Finder para calcular todos los tamaños en una carpeta. Esta opción no está habilitada de manera predeterminada, pero vale la pena verificarla por si acaso

  1. Buscador abierto
  2. En la barra de menú, seleccione Ver -> Mostrar opciones de vista
  3. Asegúrese de que "Calcular todos los tamaños" esté desmarcado
  4. Haga clic en "Usar como valores predeterminados"

Una vez que hice esto, vi que el uso de mi CPU Finder se redujo inmediatamente a 0%.

Kyle Cronin
fuente
1

Estoy en una MacBook, OSX 10.6.8. Yo también he estado experimentando innumerables "atracones de CPU del buscador", acompañados por el ventilador. Console informa todo tipo de quejas desconcertantes, a menudo se repiten varias veces [otras situaciones también hacen que el ventilador gire, y Console muestra quejas de repetición múltiple].

Recientemente descubrí que apagar mi aeropuerto calma a Finder de inmediato. No es una cura muy útil, ya que ahora tengo el aeropuerto activado para poder estar aquí, y sí, el Monitor de actividad muestra que el Buscador consume más del 100% de CPU [¿lo que sea que sea?]

gherrick
fuente
1

Cambie el buscador> preferencias> opción general "Mostrar ventana del nuevo buscador" a cualquier cosa que no sea "Todos mis archivos". Esto ayuda mucho.

aziwaan
fuente