在Ubuntu 12.04上使用大量CPU的grunt手表

Jer*_*emy 5 node.js coffeescript towerjs gruntjs

我正在使用grunt在towerjs项目中观看我的coffeescript文件,并在它们发生变化时重新编译它们.这种配置由towerjs生成,看起来相当理智.问题是,一旦我开始这个过程,我会看到它盯住一个cpu核心(实际上,只是一个超线程).如果我从观察中移除了很多路径,我可以将其降低到大约25%的CPU,但这仍然非常糟糕.

我发现了一些已知问题和与Node的fs API甚至fs.watch 特别是 fswatch的跨平台不一致的引用.试过咕噜咕噜的简单手表,但没有做得更好.

我可以设置卫兵,但它可能是很有效,让它工作正常,功能上咕噜似乎很好 - 我很好奇,但如果其他人有任何其他建议.

Kyl*_*ung 4

尝试一下新的监视任务:npm install grunt-contrib-watch并将其添加grunt.loadNpmTasks('grunt-contrib-watch');到您的 gruntfile 中。Grunt v0.3 监视任务遍历和统计文件,如果文件数量很大,可能会变慢,但对于系统兼容性来说这是必要的。如果在节点内正常工作,新版本只会使用inotify。