¿Hay alguna manera de rastrear la razón por la cual el proceso 'fseventsd' consume CPU?

Ejecuté Mac OSX 10.6 y noté que un proceso 'fseventsd' estaba usando el 100 % de la CPU y 1,5 G de RAM. Haciendo una búsqueda en Google, descubrí que esto podría estar relacionado con Time Machine. Sin embargo, no ejecuto Time Machine en esta computadora.

¿Hay alguna forma de rastrear el origen del recurso? ¿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 por adelantado.

¿Alguna vez encontraste la fuente? Estamos experimentando el mismo problema en nuestro servidor de leopardo de las nieves. Puedo intentar reiniciar, pero no puedo hacerlo hasta más tarde esta noche.
No me ha aparecido desde que reinicié, (de)afortunadamente, así que todavía no conozco la fuente
Tengo el mismo problema. Reiniciar no ayuda. Después de 20 a 30 minutos, fseventsd comienza de nuevo para tomar el 99 % de la CPU. El Macbook ya no es silencioso...

Respuestas (2)

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

Del artículo:

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

Puede consultar ese registro, aunque no sé qué tan útil será para usted. No me sorprendería tanto ver que Time Machine, que maneja muchos archivos y, a veces, muchos archivos pequeños, posiblemente cause algunos problemas con fsevents.

¡Esperemos que no sea Time Machine, ya que está deshabilitado! De todos modos, estoy leyendo sobre fseventer, así que gracias por la sugerencia.

O un programa estaba atascado en un ciclo muy eficiente escribiendo cambios que causaron fseventsdmucho trabajo o es un ciclo infinito en sí mismo procesando una estructura de datos irresoluble en uno de los volúmenes montados.

En el caso anterior, es probable que los programas como fseventer que leen el mismo flujo de datos también se cuelguen, ahora tendrá dos procesos con una utilización del 50% tratando de procesar una cantidad infinita de datos. (Este es un excelente punto de datos si está hurgando para ver qué está mal). Es análogo a las preguntas que preguntan por qué syslogdestá usando toda la CPU; por lo general, es algún otro programa que se volvió loco y le causó mucho trabajo.

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

fsckPor lo general, se requiere de un arranque al modo de usuario único si tiene enlaces duros circulares u otras travesuras degeneradas del sistema de archivos que pueden causar este tipo de aumento en la actividad.

Sí, lo siento si no estaba siendo claro, definitivamente no podías abrir fseventer mientras la caca golpeaba proverbialmente el ventilador. Solo quise decir más para darle una idea de qué tipo de datos se registraron y se vieron, como lo haría fs_usage.
Me encantó aprender sobre fseventer, se ve muy bien. No hay fallas, solo datos.
Guau, gracias por el consejo sobre 'fs_usage'. Y sí, pensé que en realidad no era fseventsd lo que causaba la carga, sino algún otro programa. Espero un bucle en alguna parte. Aparte, la máquina ha estado funcionando con carga normal durante aproximadamente 24 horas y no ha vuelto a suceder.