Apakah ada cara untuk melacak alasan proses 'fseventsd' babi CPU?

11

Saya menjalankan Mac OSX 10.6 dan memperhatikan bahwa proses 'fseventsd' mengambil 100% CPU dan 1.5G RAM. Melakukan pencarian google, saya menemukan bahwa ini dapat dikaitkan dengan Time Machine. Namun, saya tidak menjalankan Time Machine di komputer ini.

Apakah ada cara untuk melacak sumber babi sumber daya? Apakah masuk ke mana saja? Restart 'memperbaiki' masalah, tetapi saya yakin itu akan kembali jika saya tidak tahu mengapa ini dimulai.

Terima kasih sebelumnya.

DTest
sumber
Apakah Anda pernah menemukan sumbernya? Kami mengalami masalah yang sama di server macan tutul salju kami. Saya dapat mencoba reboot tetapi saya tidak bisa melakukannya sampai nanti malam.
Greg W
Saya belum pernah
memuncinya
Saya memiliki masalah yang sama. Mem-boot ulang tidak membantu. Setelah 20 hingga 30 menit, fseventsd mulai lagi untuk mengambil CPU 99%. Macbook tidak lagi diam ...
Laurent K

Jawaban:

7

fseventd adalah proses logging peristiwa filesystem, Anda dapat membaca banyak tentang hal itu di review ars technica dari Mac OS X Leopard. Anda dapat menggunakan program seperti fseventer untuk melihat jenis keluaran yang sama dengan yang dilihatnya.

Dari artikel:

Kerangka FSEvents bergantung pada proses daemon tunggal yang terus-menerus berjalan yang disebut fseventsd yang membaca dari / dev / fsevents dan menulis peristiwa untuk mencatat file pada disk (disimpan dalam direktori .fseventsd pada akar volume untuk acara). Itu dia. Itulah solusi berteknologi tinggi: cukup tulis peristiwa ke file log. Membosankan, pragmatis, tetapi cukup efektif.

Anda dapat memeriksa log itu meskipun saya tidak tahu seberapa bermanfaatnya bagi Anda. Saya tidak akan terkejut melihat Time Machine, yang berurusan dengan banyak file, dan kadang-kadang banyak file kecil, mungkin menyebabkan beberapa masalah dengan fsevents.

ConstantineK
sumber
Semoga ini bukan Time Machine, karena ini dinonaktifkan! Ngomong-ngomong, saya membaca di fseventer, jadi terima kasih atas sarannya.
DTest
3

Salah satu program terjebak dalam perubahan penulisan loop yang sangat efisien yang menyebabkan fseventsdmemiliki banyak pekerjaan atau itu adalah loop tak terbatas itu sendiri memproses struktur data yang tidak terpecahkan pada salah satu volume yang dipasang.

Dalam kasus sebelumnya - program-program seperti fseventer yang membaca aliran data yang sama kemungkinan besar akan hang juga - Anda sekarang akan memiliki dua proses dengan utilisasi 50% mencoba memproses data dalam jumlah tak terbatas. (Ini adalah titik data yang bagus jika Anda mencari-cari kesalahan.) Ini sangat masuk akal untuk pertanyaan mengapa syslogdmengambil semua CPU - biasanya beberapa program lainnya menjadi gila sehingga menyebabkan banyak pekerjaan.

Kapan / jika itu terjadi lagi - mulailah berhenti dari program dan pertimbangkan untuk keluar. Anda akan tahu jika item yang menyinggung adalah proses tingkat sistem atau proses tingkat pengguna. fs_usagemungkin berguna untuk melihat program spesifik apa yang berat bagi IO.

fsck dari boot ke mode pengguna tunggal biasanya diperlukan jika Anda memiliki tautan keras melingkar atau shenanigans sistem file degenerasi lain yang dapat menyebabkan lonjakan aktivitas semacam ini.

bmike
sumber
Ya, maaf jika saya tidak jelas, Anda pasti tidak bisa membuka fseventer sementara kotoran itu mengenai kipas. Saya hanya bermaksud memberi Anda firasat tentang jenis data apa yang dicatat dan dapat dilihat, seperti yang akan dilakukan fs_usage.
ConstantineK
Saya suka belajar tentang fseventer - terlihat sangat bagus. Tidak ada kegagalan - hanya data.
bmike
Wow, terima kasih atas tipnya pada 'fs_usage'. Dan ya, saya pikir itu bukan fseventsd yang sebenarnya menyebabkan beban, melainkan beberapa program lain. Saya mengharapkan loop di suatu tempat. Sebagai tambahan, mesin telah menjalankan beban normal selama 24 jam atau lebih, dan itu tidak terjadi lagi.
DTest