为什么凝视消耗高CPU?

我正在运行凝视( https://github.com/shama/gaze )来监视包含几百个文件的几个文件夹的变化。 现在这个过程消耗了一个稳定的15%的CPU,这意味着四个中的一个完整的内核。

我做了一个检查 – 我跑fs.watch在相同的文件夹列表,并获得具有类似function的0.0%的CPU。

现在,问题是 – 除了阅读代码之外,我怎么知道目标在做什么? 有没有分析工具?

另外 – 你是否已经知道这个问题可能是什么?

系统详细信息:OSX 10.10节点6.9.1凝视1.1.2

原因原来是fs.watchFile的使用,默认注视间隔为100ms。 Node的本地函数的默认时间间隔为5007毫秒(根据文档 – https://nodejs.org/docs/v6.9.1/api/fs.html#fs_fs_watchfile_filename_options_listener ),所以用间隔=== 5007调用凝视解决了这个问题(as以及在注视源中注释fs.watchFile)。

我现在关心的是fs.watch和fs.watchFile都被使用了,其中一个可能是多余的,但这是另外一个问题。

PS我试图用节点–prof分析进程,但是没有find对我有用的信息。