14 votos

¿Existe alguna forma de rastrear la razón por la que el proceso 'fseventsd' consume muchos recursos de la CPU?

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

¿Hay alguna manera de rastrear la fuente de este consumo de recursos? ¿Se registra en algún 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.

7voto

Zac Puntos 89

Fseventd es el proceso de registro de eventos del sistema de archivos, puedes 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 de trabajo FSEvents se basa en un único proceso demonio en constante funcionamiento llamado fseventsd que lee desde /dev/fsevents y escribe los eventos en archivos de registro en disco (almacenados en un directorio .fseventsd en la root del volumen para el que son los eventos). Eso es todo. Esa es la solución súper tecnológica: simplemente escribir los eventos en un archivo de registro. Aburrido, pragmático, pero bastante efectivo.

Puedes verificar ese registro aunque no sé qué útil será para ti. No me sorprendería ver a Time Machine, que maneja muchos archivos, y a veces muchos archivos muy pequeños, posiblemente causar algunos problemas con fsevents.

3voto

Oskar Puntos 1242

En cualquiera de los casos, un programa estaba atascado en un bucle muy eficiente escribiendo cambios que causaron que fseventsd tuviera mucho trabajo, o es un bucle infinito en sí mismo procesando una estructura de datos irresoluble en uno de los volúmenes montados.

En el primer caso, los programas como fseventer que leen el mismo flujo de datos probablemente se quedarán colgados también; ahora tendrás dos procesos al 50% de utilización intentando procesar una cantidad infinita de datos. (Este es un buen dato si estás investigando para ver qué está mal). Es análogo a preguntar por qué syslogd está consumiendo toda la CPU; usualmente es algún otro programa enloquecido causándole mucho trabajo.

Cuando/si sucede de nuevo, comienza a cerrar programas y considera cerrar sesión. Sabrás si el elemento ofensivo es un proceso a nivel de sistema o a nivel de usuario. fs_usage podría ser útil para ver qué programas específicos están generando mucha E/S.

fsck desde un arranque en modo de usuario único generalmente es necesario si tienes enlaces duros circulares u otras travesuras degeneradas del sistema de archivos que pueden causar este tipo de pico en la actividad.

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