¿Hay alguna forma de rastrear la razón por la que el proceso 'fseventsd' acapara la CPU?

10

Ejecuté Mac OSX 10.6 y noté que un proceso 'fseventsd' estaba tomando 100% de CPU y 1.5G de RAM. Al hacer una búsqueda en Google, encontré que esto podría estar vinculado a Time Machine. Sin embargo, no ejecuto Time Machine en esta computadora.

¿Hay una manera de rastrear la fuente del cerdo de recursos? ¿Se registra en cualquier lugar? Un reinicio "solucionó" el problema, pero estoy seguro de que volverá si no puedo averiguar por qué comenzó en primer lugar.

Gracias de antemano.

    
pregunta DTest 28.04.2011 - 17:41

2 respuestas

7

fseventd es el proceso de registro de eventos del sistema de archivos, puede leer mucho al respecto en la revisión de ars technica de Mac OS X Leopard. Puedes usar programas como fseventer para ver el mismo tipo de salida que ve.

Del artículo:

  

El marco FSEvents se basa en un   Demonio único, constantemente en ejecución.   proceso llamado fseventsd que lee   desde / dev / fsevents y escribe el   eventos para registrar archivos en el disco (almacenados en   Un directorio .fseventsd en la raíz de   el volumen para el que son los eventos). Eso es   eso. Esa es la súper alta tecnología.   solución: simplemente escriba los eventos a una   archivo de registro. Aburrido, pragmático, pero bastante   efectivo.

Puedes revisar ese registro aunque no sé cuán útil será para ti. No me sorprendería tanto ver que Time Machine, que se ocupa de muchos archivos y, a veces, de muchos archivos pequeños, posiblemente cause algunos problemas con fsevents.

    
respondido por el ConstantineK 28.04.2011 - 17:56
3

Uno de los programas se atascó en un proceso de escritura de bucle muy eficiente que provocó que fseventsd tuviera mucho trabajo o es un bucle infinito que procesa una estructura de datos sin resolución en uno de los volúmenes montados.

En el caso anterior, los programas como fseventer que leen el mismo flujo de datos probablemente también se cuelguen, ahora tendrá dos procesos con una utilización del 50% que intentan procesar una cantidad infinita de datos. (Este es un excelente punto de datos si está hurgando para ver qué es lo que está mal). Es análogo a las preguntas que se hacen por qué syslogd se está llevando toda la CPU; por lo general, es otro programa que se está volviendo loco causando mucho trabajo.

Cuando / si vuelve a suceder, comience a salir de los programas y considere cerrar la sesión. Sabrá si el elemento ofensivo es un proceso de nivel de sistema o un proceso de nivel de usuario. fs_usage podría ser útil para ver qué programas específicos son IO pesados.

Por lo general, se requiere

fsck de un arranque en modo de usuario único si tiene vínculos duros circulares u otros elementos del sistema de archivos degenerados que pueden causar este tipo de aumento en la actividad.

    
respondido por el bmike 28.04.2011 - 19:26

Lea otras preguntas en las etiquetas