6
launchd
可以选择run process with low priority I/O。它是如何工作的? (低到多低,是否会影响所有操作?)OS X中的低优先级I/O
是否有API可以在未通过launchd
启动的应用程序中启用低优先级I/O?
我需要在后台应用程序中扫描已注册的(FSEvents)目录,我希望它尽可能温和。
或者,我该如何检查系统/磁盘是否忙于I/O?
launchd
可以选择run process with low priority I/O。它是如何工作的? (低到多低,是否会影响所有操作?)OS X中的低优先级I/O
是否有API可以在未通过launchd
启动的应用程序中启用低优先级I/O?
我需要在后台应用程序中扫描已注册的(FSEvents)目录,我希望它尽可能温和。
或者,我该如何检查系统/磁盘是否忙于I/O?
启动使用setiopolicy_np
(man page),可以在源代码中看到。
在this Apple doc中解释的标准FSEvents
API足够温和,所以您不必在意。它只会告诉你一个被监视的目录中的东西被改变的事实。
如果你真的进入/dev/fsevents
并获得原始数据,你需要非常小心,不要压倒系统。
我使用FSEvents。它确实说目录发生了变化,但是我必须要扫描那个目录,有时会递归地(当FSEvents合并或丢弃事件时)。 'setiopolicy_np'看起来很完美! – Kornel 2010-08-13 13:37:29