我正在运行凝视(https://github.com/shama/gaze)以观察包含数百个文件的多个文件夹的更改。现在这个过程耗费了15%的稳定CPU,这意味着四个中有一个完整的核心。
我做了检查 - 我在相同的文件夹列表上运行了fs.watch,获得了具有类似功能的0.0%CPU。
现在,问题是 - 除了阅读代码之外,我怎么弄清楚凝视在做什么?有没有任何分析工具?
此外 - 您是否已经知道问题可能是什么?
系统详情: OSX 10.10 节点6.9.1 凝视1.1.2
答案 0 :(得分:0)
原因是使用fs.watchFile,默认注视间隔为100毫秒。 Node的本机函数的默认间隔是5007ms(根据文档 - 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配置进程,但没有找到对我有用的信息。