Eseguo Mac OSX 10.6 e ho notato che un processo “fseventsd” richiedeva il 100% di CPU e 1.5G di RAM. Facendo una ricerca su Google, ho scoperto che questo potrebbe essere legato a Time Machine. Tuttavia, non eseguo Time Machine su questo computer.
Esiste un modo per rintracciare lorigine della risorsa hog? Accede ovunque? Un riavvio ha “risolto” il problema, ma sono sicuro che tornerà se non riesco a capire perché è iniziato in primo luogo.
Grazie in anticipo.
Commenti
- Hai mai trovato la fonte? ' stiamo riscontrando lo stesso problema sul nostro server leopardo delle nevi. Potrei provare a riavviare, ma ' non farlo fino a stasera più tardi.
- Non lho più visualizzato dal mio riavvio, (sfortunatamente), quindi non ' conosco la fonte
- Ho lo stesso problema. Il riavvio non ' aiuta. Dopo 20-30 minuti, fseventsd ricomincia a prendere il 99% della CPU. Il Macbook non è più silenzioso …
Risposta
fseventd è il processo di registrazione degli eventi del filesystem, puoi leggi molto a riguardo nella recensione di ars technica di Mac OS X Leopard. Puoi utilizzare programmi come fseventer per vedere lo stesso tipo di output che vede.
Dallarticolo:
Il framework FSEvents si basa su un singolo processo demone in esecuzione costante chiamato fseventsd che legge da / dev / fsevents e scrive gli eventi nei file di log su disco (memorizzati in una directory .fseventsd in la radice del volume a cui si riferiscono gli eventi). Questo è tutto. Questa è la soluzione super high-tech: basta scrivere gli eventi in un file di registro. Noioso, pragmatico, ma abbastanza efficace.
Puoi controllare quel registro anche se non so quanto sarà utile per te. Non sarei così sorpreso di vedere che Time Machine, che si occupa di molti file, e talvolta molti molti piccoli file, potrebbe causare alcuni problemi con fsevents.
Commenti
- Si spera che ' non sia Time Machine, poiché è disabilitato! In ogni caso, ' sto leggendo su fseventer, quindi grazie per il suggerimento.
Risposta
O un programma è rimasto bloccato in un ciclo molto efficiente durante la scrittura di modifiche che hanno fatto sì che fseventsd
lavorasse molto oppure è un ciclo infinito che elabora un struttura dati irrisolvibile su uno dei volumi montati.
Nel caso precedente – probabilmente anche programmi come fseventer che leggono lo stesso flusso di dati si bloccheranno – ora avrai due processi al 50% di utilizzo provando per elaborare una quantità infinita di dati. (Questo è un ottimo punto dati se stai cercando di vedere cosa “non va.) È analogo alle domande che chiedono perché syslogd
sta prendendo tutta la CPU – di solito è un po altro programma è andato fuori di testa causando un sacco di lavoro.
Quando / se si ripete, inizia a chiudere i programmi e valuta la possibilità di disconnetterti. Saprai se lelemento offensivo è un processo a livello di sistema o un processo a livello utente . fs_usage
potrebbe essere utile per vedere quali programmi specifici sono pesanti in termini di IO.
fsck
da un avvio a un singolo utente la modalità è solitamente richiesta se si hanno collegamenti fisici circolari o altri imbrogli di file system degenerati che possono causare questo tipo di picco di attività.
Commenti
- Sì , scusa se non sono stato chiaro, sicuramente non potresti aprire fseventer mentre la cacca colpiva proverbialmente la ventola. Volevo solo darti unidea del tipo di dati registrati e visualizzabili, come farebbe fs_usage.
- Mi è piaciuto imparare abo ut fseventer – sembra molto carino. Non ci sono errori, solo dati.
- Wow, grazie per il suggerimento su ' fs_usage '. E sì, ho pensato che non fosse ' fseventsd a causare il carico, ma piuttosto un altro programma. Mi aspetto un loop da qualche parte. Per inciso, la macchina ha eseguito un carico normale per circa 24 ore e ' non è successo di nuovo.