Низкоприоритетный ввод / вывод в OS X - PullRequest
6 голосов
/ 12 августа 2010

launchd имеет возможность запустить процесс с низкоприоритетным вводом / выводом .Как это работает точно?(насколько низок низкий, это влияет на все операции?)

Есть ли API, который позволяет вводить-вывод с низким приоритетом в приложениях, не запущенных через launchd?

Мне нужно сканировать просматриваемые(FSEvents) каталоги в фоновом приложении, и я бы хотел, чтобы это было как можно деликатнее.

В качестве альтернативы, как я могу проверить, занята ли система / диск выполнением операций ввода-вывода?

1 Ответ

4 голосов
/ 13 августа 2010

Launchd использует setiopolicy_np ( справочная страница ), как видно из исходного кода здесь .

Стандартные FSEvents API-интерфейсы, описанные в этом Apple Doc , достаточно мягкие, поэтому вам не нужно об этом заботиться. Это только говорит о том, что что-то в наблюдаемом каталоге изменилось.

Если вы действительно подключаетесь к /dev/fsevents и получаете необработанные данные, вам нужно быть очень осторожным, чтобы не перегружать систему.

...