Есть ли способ отследить причину 'fseventsd' процесс загрузки процессора?

11

Я запустил Mac OSX 10.6 и заметил, что процесс 'fseventsd' занимал 100% ЦП и 1,5 ГБ ОЗУ. Делая поиск в Google, я обнаружил, что это может быть связано с машиной времени. Однако я не запускаю Time Machine на этом компьютере.

Есть ли способ отследить источник борова ресурса? Это входит куда-нибудь? Перезапуск «исправил» проблему, но я уверен, что она вернется, если я не могу понять, почему это началось с самого начала.

Заранее спасибо.

DTest
источник
Вы когда-нибудь находили источник? Мы столкнулись с той же проблемой на нашем сервере снежного барса. Я могу попробовать перезагрузить компьютер, но не смогу сделать это до позднего вечера.
Грег W
К счастью, у меня не было всплывающих окон после перезагрузки, поэтому я до сих пор не знаю источника
DTest
У меня такая же проблема. Перезагрузка не помогает. Через 20-30 минут fseventsd снова начинает загружать процессор на 99%. Macbook больше не молчит ...
Лоран К

Ответы:

7

fseventd - это процесс регистрации событий в файловой системе, о котором вы можете прочитать в обзоре ars technica Mac OS X Leopard. Вы можете использовать такие программы, как fseventer, чтобы увидеть тот же тип вывода, который он видит.

Из статьи:

Инфраструктура FSEvents опирается на один постоянно работающий процесс-демон fseventsd, который читает из / dev / fsevents и записывает события в файлы журнала на диске (хранится в каталоге .fseventsd в корне тома, для которого эти события). Вот и все. Это супер-высокотехнологичное решение: просто запишите события в лог-файл. Скучно, прагматично, но довольно эффективно.

Вы можете проверить этот журнал, хотя я не знаю, насколько он будет полезен для вас. Я не был бы удивлен, увидев Time Machine, которая имеет дело со многими файлами, а иногда и многими крошечными файлами, что может вызвать некоторые проблемы с fsevents.

ConstantineK
источник
Надеюсь, это не Машина времени, так как она отключена! В любом случае, я читаю на fseventer, так что спасибо за предложение.
DTest
3

Либо одна программа застряла в очень эффективном цикле записи изменений, которые вызвали fseventsdмного работы, либо это сам бесконечный цикл, обрабатывающий неразрешимую структуру данных на одном из подключенных томов.

В предыдущем случае - такие программы, как fseventer, которые читают один и тот же поток данных, вероятно, тоже зависнут - теперь у вас будет два процесса с 50% -ной загрузкой, пытающиеся обработать бесконечное количество данных. (Это отличный момент для данных, если вы пытаетесь увидеть, что не так.) Похоже на вопросы, спрашивающие, почему syslogdзанимает весь процессор - обычно это какая-то другая программа, которая сходит с ума, вызывая много работы.

Когда / если это случится снова - начните выходить из программ и подумайте о выходе из системы. Вы узнаете, является ли нарушающий элемент процессом системного уровня или процессом пользовательского уровня. fs_usageможет быть полезно посмотреть, какие конкретные программы IO тяжелы.

fsck из-за загрузки в однопользовательский режим обычно требуется, если у вас есть круглые жесткие ссылки или другие вырожденные махинации с файловой системой, которые могут вызвать такой всплеск активности.

bmike
источник
Да, извините, если я был неясен, вы определенно не могли открыть fseventer, пока корма общеизвестно поразила поклонника. Я просто хотел больше, чтобы дать вам представление о том, какие данные регистрируются и просматриваются, как это делает fs_usage.
КонстантинK
Я любил узнавать о Fseventer - выглядишь очень красиво. Там нет отказа - только данные.
bmike
Вау, спасибо за подсказку по fs_usage. И да, я решил, что это не fseventsd, вызывающий загрузку, а какая-то другая программа. Я ожидаю где-нибудь петлю. Кроме того, машина работала с нормальной нагрузкой в ​​течение 24 часов, и это больше не повторилось.
DTest