Fseventsd mac os что это

Обновлено: 04.07.2024

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

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

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

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

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

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

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

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

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

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

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


Я бы хотел посвятить статью обзору API, предоставляемых разными ОС для слежения за изменениями в директории. Статья появилась как результат моей работы над демонами слежения за изменениями для утилиты dklab_realsync (статья на хабре, github репозиторий) и своей собственной, которую я пока что не хочу анонсировать.

Для операционной системы Windows есть замечательная функция ReadDirectoryChangesW, которая возвращает набор изменений для директории, в том числе содержит флаг для работы рекурсивно (bWatchSubtree). Таким образом, реализация слежения за изменениями в директории не представляет особого труда и в том же dklab_realsync реализация занимает 80 строк кода или 3.5 Кб. Интересно, что в Windows эти события поддерживаются даже через SMB!

Тем не менее, существуют определенные подводные камни:

  • конечный размер буфера изменений, после которого очередь событий переполнится и эти события будут потеряны
  • согласно документации к watchdog package, событие перемещения посылается раньше, чем изменения становятся видны в ФС
  • размер буфера ограничен в 64 Кб для сетевой ФС

Вывод: Функция ReadDirectoryChangesW позволяет легко узнавать обо всех событиях в файлах, но, очередь событий может переполниться и тогда нужно будет выполнять полное сканирование ФС. Также, возможна доставка событий до того, как они станут актуальны.

В Mac OS X также есть удобный и простой API для слежения за изменениями в файловой системе под названием FSEvents. С использованием этого API простейшая реализация демона составляет 50 строк кода или 1.8 кб. Очередь не может переполниться (!), но полное сканирование все же может потребоваться, если демон fseventsd «упадет». Стоит отметить, что этот API до версии 10.7 не предоставляет изменения по файлам, он сообщает только директории, в которых что-то изменилось. Поскольку события никуда не деваются и пишутся в лог (FSEvents service stores events in a persistent, per-volume database), детализация с точностью для директории позволяет сэкономить место на диске.

Вывод: FSEvents API для Mac OS X является самым необычным из всех подобных API. Очередь не переполняется и даже имеется возможность получить события из прошлого. Тем не менее, детализация событий дается с точностью до директории (до версии 10.7), что означает меньшую эффективность демона для синхронизации файлов.

В linux vanilla kernel существует один способ слежения за изменениями в директории — это inotify. Для этого API существует хорошая и подробная документация, но нет поддержки рекурсивного слежения за изменениями! Также, у inotify есть ограничение на максимальное количество объектов, за которыми можно следить. Простейшая реализация демона занимает уже 250 строк кода или 8 кб. Статическая сборка с использованием dietlibc занимает примерно 14 кб. Другим неприятным моментом является то, что приложение должно само поддерживать соответствия между watch descriptor (в нашем случае это всегда директория) и именем. Есть функция inotify_add_watch, которой передается путь до отслеживаемой директории, но нет обратной — inotify_get_path, которая бы возвращала этот самый путь по переданному дескриптору. События же содержат только watch descriptor и относительный путь до изменившегося файла внутри директории.

Подводные камни рекурсивного слежения за директорией через inotify:

  • Возможность переполнения очереди (длина очереди задается в /proc/sys/fs/inotify/max_queued_events)
  • Ограничение на максимальное количество объектов слежения (задается в /proc/sys/fs/inotify/max_user_watches)
  • Отсутствие возможности рекурсивного слежения за директорией
  • Необходимость отдельно обрабатывать случай, когда создается директория (например mkdir -p a/b/c). Вы получите событие о том, что создана директория «a», но пока вы навешиваете обработчик на эту директорию, в ней уже могут создать ещё одну директорию и событие об этом вам уже не придет.
  • Теоретическая возможность целочисленного переполнения watch descriptor (wd), так как он задается uint32

FreeBSD и Mac OS X позволяют отслеживать за изменениями с помощью kqueue, который аналогичен inotify по своим характеристикам и также не имеет возможности рекурсивного слежения за директориями. Также, kqueue принимает в качестве аргументов дескрипторы открытых файлов (директорий), поэтому при использовании этого API ограничения на количество отслеживаемых директорий ещё более строгие.

Пользователи маков могут даже не подозревать о их существовании, так как файлы, имена которых начинаются с точки, являются скрытыми. А вот пользователи Windows (у кого включено отображение системных и скрытых файлов), видя подобное безобразие на файловом сервере, начинают нервно елозить, опасаясь подцепить что-то не хорошее.

Что такое .DS_Store, .fseventsd, .Spotlight-V100, TemporaryItems и .Trashes?

Попробую объяснить что это такое и откуда берется. Если совсем кратко, то эти скрытые файлы и папки выполняют вспомогательную функцию файловой системы macOS — запоминают размеры иконок, ведут журналы событий, содержат индексы поиска и прочие «плюшки». Остановимся чуть подробнее на каждом:

  • .DS_Store — отвечает за хранение настроек вида папок (размер пиктограмм и сетки, вид, фоновый рисунок и так далее. Удалив этот файл, все настройки вида придут к настройкам по-умолчанию.
  • Файлы с префиксом «._» . Файловая система macOS использует оригинальную систему хранения данных: сам файл плюс ресурсы, которыми можно его сопроводить (добавить пиктограмму, цветную этикетку, комментарий Spotlight). У других файловых систем (FAT, NTFS, UFS, SMB, NFS) такой функции нет и, дабы не терять эти данные на внешних или сетевых дисках, Apple придумала механизм под названием «Apple Double», создавая для этих целей второй файл с префиксом ._ . В общем, файлы с префиксом ._ на сетевых ресурсах и флешках можно смело удалять, никакой полезной нагрузки они там не несут.
  • .fseventsd — журнал событий файловой системы, содержит данные о создание файлов и каталогов, модификации, удалении. На несистемных томах можно обойтись и без него.
  • .Spotlight-V100 — база индексации системы поиска Spotlight , пожалуй самый объемный из скрытых системных каталогов. Располагается в корне каждого раздела диска. Удаление приводит к повторному переиндексированию.
  • .TemporaryItems — служит для хранения временных объектов (по аналогии с temp в Windows). Удаление может негативно сказаться на работе программ, которые её используют.
  • .Trashes — используется для временного хранения удалённых файлов. Удаление данной папки равносильно очистке корзины (не рекомендуется удалять на системных разделах).

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

Как избавиться от создания файлов .DS_Store, .Spotlight-V100, .TemporaryItems и .Trashes на сетевых дисках?

Штатных настроек по отключению файлов типа .DS_Store на сетевых дисках в macOS не предусмотрено, хотя способ избавления от некоторых файлов и папок на SMB ресурсах всё-таки есть. Для этого в терминале нужно выполнить команду:

defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true

Правда тут есть одно "но". Данная настройка распространяется только на ту учетную запись, под которой выполнялась команда. Если требуется применить её ко всей системе, необходимо скопировать файл com.apple.desktopservices.plist из локальной библиотеки настроек в глобальную и переназначить права доступа:

sudo chmod 644 /Library/Prefrences/com.apple.desktopservices.plist
sudo chown root:wheel /Library/Prefrences/com.apple.desktopservices.plist

Восстановить настройки можно командой:

defaults delete com.apple.desktopservices DSDontWriteNetworkStores

Теперь можно рекурсивно очистить подключенный сетевой ресурс (со всеми подкаталогами) от файлов .DS_Store, .Spotlight-V100 и прочих, описанных ранее. Предполагается, что ресурс уже смонтирован в каталоге /Volumes.

Программы, которые поддерживают FSEVENTSD расширение файла

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

Программы, обслуживающие файл FSEVENTSD

Как открыть файл FSEVENTSD?

Причин, по которым у вас возникают проблемы с открытием файлов FSEVENTSD в данной системе, может быть несколько. С другой стороны, наиболее часто встречающиеся проблемы, связанные с файлами MAC OS X, не являются сложными. В большинстве случаев они могут быть решены быстро и эффективно без помощи специалиста. Мы подготовили список, который поможет вам решить ваши проблемы с файлами FSEVENTSD.

Шаг 1. Получить Mac OS X

Install software to open FSEVENTSD file

Наиболее распространенной причиной таких проблем является отсутствие соответствующих приложений, поддерживающих файлы FSEVENTSD, установленные в системе. Решение простое, просто скачайте и установите Mac OS X. Полный список программ, сгруппированных по операционным системам, можно найти выше. Самый безопасный способ загрузки Mac OS X установлен - для этого зайдите на сайт разработчика (Apple, Inc.) и загрузите программное обеспечение, используя предоставленные ссылки.

Шаг 2. Проверьте версию Mac OS X и обновите при необходимости

Update software that support file extension FSEVENTSD

Вы по-прежнему не можете получить доступ к файлам FSEVENTSD, хотя Mac OS X установлен в вашей системе? Убедитесь, что программное обеспечение обновлено. Может также случиться, что создатели программного обеспечения, обновляя свои приложения, добавляют совместимость с другими, более новыми форматами файлов. Если у вас установлена более старая версия Mac OS X, она может не поддерживать формат FSEVENTSD. Все форматы файлов, которые прекрасно обрабатывались предыдущими версиями данной программы, также должны быть открыты с помощью Mac OS X.

Шаг 3. Настройте приложение по умолчанию для открытия FSEVENTSD файлов на Mac OS X

Если у вас установлена последняя версия Mac OS X и проблема сохраняется, выберите ее в качестве программы по умолчанию, которая будет использоваться для управления FSEVENTSD на вашем устройстве. Следующий шаг не должен создавать проблем. Процедура проста и в значительной степени не зависит от системы

Associate software with FSEVENTSD file on Windows

Изменить приложение по умолчанию в Windows

  • Нажатие правой кнопки мыши на FSEVENTSD откроет меню, из которого вы должны выбрать опцию Открыть с помощью
  • Нажмите Выбрать другое приложение и затем выберите опцию Еще приложения
  • Чтобы завершить процесс, выберите Найти другое приложение на этом. и с помощью проводника выберите папку Mac OS X. Подтвердите, Всегда использовать это приложение для открытия FSEVENTSD файлы и нажав кнопку OK .

Изменить приложение по умолчанию в Mac OS

Шаг 4. Убедитесь, что файл FSEVENTSD заполнен и не содержит ошибок

Если проблема по-прежнему возникает после выполнения шагов 1-3, проверьте, является ли файл FSEVENTSD действительным. Проблемы с открытием файла могут возникнуть по разным причинам.

Check FSEVENTSD file for viruses

1. Проверьте FSEVENTSD файл на наличие вирусов или вредоносных программ.

Если случится так, что FSEVENTSD инфицирован вирусом, это может быть причиной, которая мешает вам получить к нему доступ. Рекомендуется как можно скорее сканировать систему на наличие вирусов и вредоносных программ или использовать онлайн-антивирусный сканер. FSEVENTSD файл инфицирован вредоносным ПО? Следуйте инструкциям антивирусного программного обеспечения.

2. Убедитесь, что файл с расширением FSEVENTSD завершен и не содержит ошибок
3. Убедитесь, что у вас есть соответствующие права доступа

Иногда для доступа к файлам пользователю необходимы права администратора. Переключитесь на учетную запись с необходимыми привилегиями и попробуйте снова открыть файл MAC OS X.

4. Проверьте, может ли ваша система обрабатывать Mac OS X

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

5. Убедитесь, что у вас установлены последние версии драйверов, системных обновлений и исправлений

Регулярно обновляемая система, драйверы и программы обеспечивают безопасность вашего компьютера. Это также может предотвратить проблемы с файлами MAC OS X. Устаревшие драйверы или программное обеспечение могли привести к невозможности использования периферийного устройства, необходимого для обработки файлов FSEVENTSD.

Вы хотите помочь?

Если у Вас есть дополнительная информация о расширение файла FSEVENTSD мы будем признательны, если Вы поделитесь ею с пользователями нашего сайта. Воспользуйтесь формуляром, находящимся здесь и отправьте нам свою информацию о файле FSEVENTSD.

Операционная система Apple для компьютеров имеет глубокую и разветвленную структуру папок. Некоторые из них важны настолько, что «яблочные инженеры» просто прячут их от пользователей – ведь малейшее изменение сделает работу системы нестабильной, приведет к потере данных, а то и просто не даст вашему Mac включиться.

5 папок в macOS, которые лучше не трогать

Ниже мы приводим хит-парад самых «опасных» папок macOS

1. Языковые файлы и папки

Приложения для Mac всегда поставляются с языковыми файлами – их будет ровно столько, на сколько языков переведена программа.

Чтобы увидеть их, зайдите в Finder, откройте вкладку Программы и кликните правой кнопкой мыши по любому приложение, а в появившемся контекстном меню выберите вариант Показать содержимое пакета.

Показать содержимое пакета

Путь будет выглядеть примерно так:

Нередко языковые файлы удаляют – ради того, чтобы освободить немного свободного места. Именно немного – сканирование программой CleanMyMac X показывает, что удаление этих файлов даст вам незначительное количество свободного пространства.

CleanMyMac X

В общем, сильно сэкономить не получится – а вот получить проблемы вроде зависаний и вылета некоторых старых приложений Microsoft Office и Adobe вполне реально. К тому же, для удаления системных языковых пакетов macOS требуется отключение встроенной защиты System Integrity Protection – а вот этого делать настоятельно не рекомендуется.

2. Папки в разделе /private/var

macOS создает файлы кэша на пользовательском и системном уровнях, чтобы ускорить систему. Кэш и временные файлы, расположенные в /Library/Caches, находятся в открытом доступе, их можно удалять даже без помощи сторонних приложений.

Но есть и такие места, которые управляются исключительно операционной системой, и вам они даже не видны. Иногда они занимают приличное место на диске, так что логично выозникает как минимум желание с этим разобраться.

Чтобы открыть /private/var, откройте Finder, нажмите ⌘Cmd + ⇧Shift + G и введите в адресной строке /private/var/folders. Новая вкладка в Finder будет открыта незамедлительно.

Для перехода к системному кэшу и временным файлам запустите Терминал и введите следующую команду:

open $TMPDIR

Вы увидите папки с названиями из двух букв. Если углубиться в них, вы окажетесь в папках с названием уже из одной буквы. В папке С «живет» кэш (от Cache), В папке Т – временные файлы (Temporary), а данные пользователя находятся в O.

open $TMPDIR

Сканирование с помощью OmniDiskSweeper показывает, что размер /private/var/folders составляет 1 ГБ, а всей /private/var – чуть больше 4 ГБ. Это нормально – беспокоиться стоит, если эти директории «весят» более 10 ГБ.

OmniDiskSweeper

Если они не удаляются, загрузите Mac в безопасном режиме. macOS подключить дополнительные встроенные механизмы для уничтожения кэша и временных файлов. После этого можно будет загрузиться уже в обычном режиме и проверить свободное место на диске.

Другие важные папки в /private/var

  • /private/var/db – включает в себя набор различных конфигураций для macOS и файлов с данными, включая базу данных Spotlight, сетевые настройки и др.
  • /private/var/VM – содержит важную информацию для перехода в режим сна. Когда ваш Mac «засыпает», эта директория разрастается до более чем 5 ГБ.

3. Папка Система и Библиотеки

Создатели macOS предусмотрели в ней несколько папок с названием Library (Библиотеки). Они имеют одно и то же название, но располагаются в разных частях ОС, и отличаются друг от друга по функциональным возможностям.

Папка Система и Библиотеки

Всего есть три папки:

В русскоязычной версии macOS

Основная и находящаяся в разделе System (Система) папки Library (Библиотеки) влияют практически на каждый аспект в системе. Например, в Системе находятся папки с файлами, которые необходимы macOS для работы. Модифицировать их имеет право только сама операционная система. Соответственно, пользователю здесь делать нечего.

4. User Library

Папка с тем же названием в «домашней» директории – это ваша персональная библиотека данных. Здесь также находится сама система, сторонние файлы поддержки, настройки, а также данные почтового клиента Apple Mail, закладки и история Safari, записи из календаря и многое другое. Есть здесь и папка, которую время от времени рекомендуется чистить. Но это совсем не значит, что «трогать» можно всё – как раз наоборот.

/Library/Application Support и системные, и сторонние приложения сохраняют файлы поддержки (обычно в подпапке) с регистрационными данными и информацией о совершенных сессиях. Удалять вручную их нельзя, для этого есть специальное приложение AppCleaner.

Application Support

/Library/Preferences хранятся настройки всех системных и сторонних приложений. Опять-таки, вручную удалять их нельзя – если это сделать, приложение вернется к изначальным настройкам или будет вылетать при запуске. Для очистки этих данных используйте уже упомянутый AppCleaner.

Preferences

Mobile Documents

/Library/Containers располагаются файлы поддержки, кэшированные данные и временные файлы для приложений из Mac App Store. Так как приложения из магазина приложений работают исключительно в «песочнице», они не могут записывать данные в какое-либо другое место на диске. Как вы уже догадались, вручную ничего удалять здесь нельзя. Что делать? Просто переустановить приложение, данные от которых занимают слишком много места.

Containers

5. Скрытые папки в «домашней» директории

Откройте Finder и одновременно нажмите ⌘Cmd + ⇧Shift + . (точка) – и получите доступ к большому числу файлов и папок в директории Home (Дом), которые обычно скрыты от пользователя. Как вы наверняка уже догадались, это сделано неслучайно – Apple не хочет, чтобы вы случайно что-то удалили и нарушили работу Mac.

Скрытые папки в «домашней» директории

В частности, не следует модифицировать и тем более удалять следующие папки:

  • .Spotlight-V100 – метаданные встроенного поисковика Spotlight для каждого смонтированного диска. Процессы под названием mdworker используют эти метаданные для обновления выдачи Spotlight.
  • .fseventsd – в этот лог-файл записывается информация о событиях в системных файлах (например, создание файлов, модификация, удаление и т.д.). Time Machine использует эти данные для того, чтобы создавать бэкап в фоновом режиме.
  • .DocumentRevisions-V100 – база данных из приложений с сохранением различных версий. С её помощью вы, к примеру, можете вернуться к более старой версии документа даже тогда, когда не сохраняли её.
  • .PKInstallSandboxManager – используется для обновлений ПО и песочницы.
  • .PKInstallSandboxManager-SystemSoftware – используется для обновления системного ПО.
  • .Trashes – корзина на каждом из системных дисков.

Обязательно сделайте бэкап

Обычному пользователю малоинтересны «скрытые» папки – в конце концов, в них не лежат деньги :). Но если свободного места на диске становится все меньше, самые отчаянные юзеры все-таки могут начать эксперименты со «слишком большими» папками.

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

Читайте также: