为什么凝视消耗高CPU?
Why is Gaze consuming high CPU?
我 运行 凝视 (https://github.com/shama/gaze) 观看包含数百个文件的多个文件夹的变化。现在该进程消耗稳定的 15% CPU,这意味着四个核心中的一个完整核心。
我进行了检查 - 我 运行 fs.watch 遍历了相同的文件夹列表,并获得了具有类似功能的 0.0% CPU。
现在,问题是 - 除了阅读代码之外,我如何弄清楚凝视在做什么?有没有分析工具?
此外 - 您是否已经知道可能是什么问题?
系统详情:
OSX 10.10
节点 6.9.1
凝视 1.1.2
原因原来是 fs.watchFile 的默认 gaze 间隔为 100 毫秒。 Node 的本机函数的默认间隔是 5007 毫秒(根据文档 - https://nodejs.org/docs/v6.9.1/api/fs.html#fs_fs_watchfile_filename_options_listener)所以使用间隔 === 5007 调用凝视修复了这个问题(以及在凝视源中注释掉 fs.watchFile)。
我现在担心的是 fs.watch 和 fs.watchFile 都被使用了,其中一个可能是多余的,但那是另一个问题。
P.S。我尝试使用 node --prof 分析该过程,但没有找到对我有用的信息。
我 运行 凝视 (https://github.com/shama/gaze) 观看包含数百个文件的多个文件夹的变化。现在该进程消耗稳定的 15% CPU,这意味着四个核心中的一个完整核心。
我进行了检查 - 我 运行 fs.watch 遍历了相同的文件夹列表,并获得了具有类似功能的 0.0% CPU。
现在,问题是 - 除了阅读代码之外,我如何弄清楚凝视在做什么?有没有分析工具?
此外 - 您是否已经知道可能是什么问题?
系统详情: OSX 10.10 节点 6.9.1 凝视 1.1.2
原因原来是 fs.watchFile 的默认 gaze 间隔为 100 毫秒。 Node 的本机函数的默认间隔是 5007 毫秒(根据文档 - https://nodejs.org/docs/v6.9.1/api/fs.html#fs_fs_watchfile_filename_options_listener)所以使用间隔 === 5007 调用凝视修复了这个问题(以及在凝视源中注释掉 fs.watchFile)。
我现在担心的是 fs.watch 和 fs.watchFile 都被使用了,其中一个可能是多余的,但那是另一个问题。
P.S。我尝试使用 node --prof 分析该过程,但没有找到对我有用的信息。