13 votos

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

Unas cuantas veces a la semana, el Finder de mi Macbook se dispara hasta alrededor del 100% de uso de la CPU, y los ventiladores empiezan a sonar.

He hecho todo lo que se me ha ocurrido: reparar los permisos, reiniciar, borrar las preferencias, desactivar "mostrar vista previa" en las opciones de vista, comprobar si hay procesos innecesarios en el monitor de actividad, buscar errores en la consola, reiniciar el Finder y muchas cosas más. Al final desaparece, y supongo que el origen del error fue lo último que cambié.

Pero ahora lo está volviendo a hacer y estoy perdido. Me gustaría que hubiera una manera de "entrar en la cabeza del Finder" y ver lo que está haciendo. He intentado ejecutar una muestra del proceso del Finder en el Monitor de Actividad, pero honestamente no sé lo que está haciendo, y mucho menos cómo interpretar la salida.

Esa es realmente mi esperanza: que alguien pueda explicar una forma mejor de investigar picos de CPU como éste, no sólo en el Finder, sino en cualquier proceso fuera de control. Ciertamente hay un montón de detalles que podrían ayudar a todos a diagnosticar este caso específico, pero antes de vomitar aún más información probablemente irrelevante, pensé que iba a ver si alguien tiene consejos generales para el diagnóstico de este tipo de cosas.

Este es mi primer post sobre Stack-anything, así que por favor, sé amable. Gracias de antemano.

6voto

Clay Nichols Puntos 569

"Me gustaría que hubiera una manera de "entrar en la cabeza del Finder" y ver lo que está haciendo. He intentado ejecutar una muestra del proceso del Finder en el Monitor de Actividad, pero honestamente no sé lo que está haciendo, y mucho menos cómo interpretar la salida."

Tomar una muestra en el Monitor de Actividad 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 para usted. Sólo tienes que publicarlo, o ponerlo a disposición para su descarga o visualización (ya que tienden a ser bastante grandes).

¿Qué versión de OS X estás utilizando? En OS X 10.5.x y anteriores, creo que el contenido multimedia se ejecutaba dentro del propio 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 previsualización de una película QuickTime puede hacer que el Finder de 10.5.x y anteriores se dispare hasta el 60% de la CPU, mientras que en 10.6 puede dividirse en algo así como un 10% de CPU para el Finder y un 30% de CPU para el proceso en segundo plano QTKitHelper.

De lo contrario, a veces he visto que el código que utiliza el Finder para calcular el tamaño del contenido de una carpeta provoca picos temporales de CPU. (Notarás algo como TSomething::HFSSizerSomething en el rastro de pila de una muestra). Por lo general, parece insistir en terminar su cálculo incluso si la vista que tenía abierta y que justificaba el cálculo ya se ha cerrado.

En cualquier caso, ver la muestra debería ayudar a localizar el problema y saber en qué contexto se produjo el pico. Será más fácil explicar lo que hace tomar una muestra una vez que la tengamos delante para mirarla.

3voto

Paul Puntos 170

Dispone de DTrace.

man -k DTrace

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

1voto

UnkwnTech Puntos 21942

Buenos consejos hasta ahora. Voy a compartir una 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 que tenía un AVI en una carpeta. El formato era raro, no era una simple película Quicktime ni nada parecido; por aquel entonces las cámaras de los móviles eran malas y usaban los peores códecs posibles jamás creados. Así que cada vez que iba a esa "carpeta" con Finder, se colgaba, porque estaba intentando "leer" el archivo y el códec era malo.

Al final, por suerte o porque me olvidé de ello (o lo borré), dejó de ocurrir. Pero me llevó un tiempo averiguar qué era. Recuerdo que este comportamiento exacto también me pasó en Leopard con un vídeo "mal" formateado. Quicklook colgaba el finder con ese trozo de media.

Tuve que abrirlo con VLC para "repararlo". Y entonces misteriosamente empezó a funcionar de nuevo.

Te sugiero que intentes echar un ojo a tus 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 tiempo etc.

En el momento de escribir esto, no conozco tu versión de OS X (¿10.x?), por lo que esta información puede estar ligeramente desfasada si estás ejecutando Snow Leopard.

Además, siga el consejo de tratar de salida fs_usage, top, y herramientas similares. Puede darnos una pista mejor. La salida de Console.app (/Applications/Utilities) podría arrojar algo de luz al problema.

1voto

Oskar Puntos 1242

Sólo he encontrado dos herramientas ampliamente útiles para resolver problemas de alto uso de CPU en un programa aislado. Sí, monitor de actividad puede muestreo y le dirá donde está colgado / procesamiento - pero me parece Instrumentos para ser más adecuado para realmente llegar a root del problema si fs_usage no puede. DTrace es impresionante - yo nunca he necesitado pasar el tiempo de aprendizaje - Instruments funciona lo suficientemente bien y la curva de aprendizaje para mí fue mucho menor.

  1. fs_usage y grep para determinar los archivos a los que se está accediendo, a menudo me permite saber cuál es el problema y dónde radica, de modo que puedo tomar medidas para solucionarlo o ajustarlo.
  2. Aplicación Instruments - Xcode 3 se proporciona para desarrolladores libres o Xcode 4 (adquirido en la Mac App Store o como desarrollador de pago). Piense en esto como muestra / monitor de actividad en los esteroides - se puede hurgar en cosas como la asignación de memoria / fugas y obtener una visión mucho más aburrido de lo que está sucediendo dentro de un proceso lento, ya que se está ejecutando.

1voto

Chris Jester-Young Puntos 102876

Llevaba unas semanas sufriendo un uso elevado de la CPU del Finder (80-100%). Al final descubrí que se debía a que había configurado el Finder para que calculara todos los tamaños de una carpeta. Esta opción no está activada por defecto, pero vale la pena comprobarla por si acaso.

  1. Abrir Buscador
  2. En la barra de menús, seleccione Ver -> Mostrar opciones de vista
  3. Asegúrese de que la opción "Calcular todos los tamaños" no está marcada.
  4. Haga clic en "Usar como predeterminados"

Una vez hecho esto, vi que el uso de la CPU de mi Finder caía inmediatamente al 0%.

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