Egg: ENOSPC Error

Created on 11 Mar 2017  ·  7Comments  ·  Source: eggjs/egg

  • Node Version: v6.10.0
  • Egg Version: 1.0.0-rc.2
  • Plugin Name: egg-watcher
  • Plugin Version: 2.1.0
  • Platform: 4.9.13-200.fc25.x86_64(Fedora 25)


启动官方的 egg hackernewsegg-watcher 执行 watch 的时候栈报错了,暂时未找到错误产生的原因。

错误日志:

2017-03-11 19:42:19,151 ERROR 31670 nodejs.ENOSPCError: watch /home/mwong/Documents/Recruit/interview/egg-example/config ENOSPC
    at exports._errnoException (util.js:1022:11)
    at FSWatcher.start (fs.js:1429:19)
    at Object.fs.watch (fs.js:1456:11)
    at Walk.<anonymous> (/home/mwong/Documents/Recruit/interview/egg-example/node_modules/wt/index.js:186:20)
    at emitTwo (events.js:106:13)
    at Walk.emit (events.js:191:7)
    at /home/mwong/Documents/Recruit/interview/egg-example/node_modules/ndir/lib/ndir.js:107:16
    at FSReqWrap.oncomplete (fs.js:123:15)
code: 'ENOSPC'
errno: 'ENOSPC'
syscall: 'watch /home/mwong/Documents/Recruit/interview/egg-example/config'
filename: '/home/mwong/Documents/Recruit/interview/egg-example/config'
dir: '/home/mwong/Documents/Recruit/interview/egg-example/config'
name: 'ENOSPCError'
pid: 31670
hostname: asus-x550cc

2017-03-11 19:42:19,154 ERROR 31670 nodejs.ENOSPCError: watch /home/mwong/Documents/Recruit/interview/egg-example/app ENOSPC
    at exports._errnoException (util.js:1022:11)
    at FSWatcher.start (fs.js:1429:19)
    at Object.fs.watch (fs.js:1456:11)
    at Walk.<anonymous> (/home/mwong/Documents/Recruit/interview/egg-example/node_modules/wt/index.js:186:20)
    at emitTwo (events.js:106:13)
    at Walk.emit (events.js:191:7)
    at /home/mwong/Documents/Recruit/interview/egg-example/node_modules/ndir/lib/ndir.js:107:16
    at FSReqWrap.oncomplete (fs.js:123:15)
code: 'ENOSPC'
errno: 'ENOSPC'
syscall: 'watch /home/mwong/Documents/Recruit/interview/egg-example/app'
filename: '/home/mwong/Documents/Recruit/interview/egg-example/app'
dir: '/home/mwong/Documents/Recruit/interview/egg-example/app'
name: 'ENOSPCError'
pid: 31670
hostname: asus-x550cc

2017-03-11 19:42:19,156 ERROR 31670 nodejs.ENOSPCError: watch /home/mwong/Documents/Recruit/interview/egg-example/app/public ENOSPC
    at exports._errnoException (util.js:1022:11)
    at FSWatcher.start (fs.js:1429:19)
    at Object.fs.watch (fs.js:1456:11)
    at Walk.<anonymous> (/home/mwong/Documents/Recruit/interview/egg-example/node_modules/wt/index.js:186:20)
    at emitTwo (events.js:106:13)
    at Walk.emit (events.js:191:7)
    at /home/mwong/Documents/Recruit/interview/egg-example/node_modules/ndir/lib/ndir.js:90:12
    at FSReqWrap.oncomplete (fs.js:123:15)
code: 'ENOSPC'
errno: 'ENOSPC'
syscall: 'watch /home/mwong/Documents/Recruit/interview/egg-example/app/public'
filename: '/home/mwong/Documents/Recruit/interview/egg-example/app/public'
dir: '/home/mwong/Documents/Recruit/interview/egg-example/app/public'
name: 'ENOSPCError'
pid: 31670
hostname: asus-x550cc

2017-03-11 19:42:19,158 ERROR 31670 nodejs.ENOSPCError: watch /home/mwong/Documents/Recruit/interview/egg-example/app/controller ENOSPC
    at exports._errnoException (util.js:1022:11)
    at FSWatcher.start (fs.js:1429:19)
    at Object.fs.watch (fs.js:1456:11)
    at Walk.<anonymous> (/home/mwong/Documents/Recruit/interview/egg-example/node_modules/wt/index.js:186:20)
    at emitTwo (events.js:106:13)
    at Walk.emit (events.js:191:7)
    at /home/mwong/Documents/Recruit/interview/egg-example/node_modules/ndir/lib/ndir.js:107:16
    at FSReqWrap.oncomplete (fs.js:123:15)
code: 'ENOSPC'
errno: 'ENOSPC'
syscall: 'watch /home/mwong/Documents/Recruit/interview/egg-example/app/controller'
filename: '/home/mwong/Documents/Recruit/interview/egg-example/app/controller'
dir: '/home/mwong/Documents/Recruit/interview/egg-example/app/controller'
name: 'ENOSPCError'
pid: 31670
hostname: asus-x550cc
question

Most helpful comment

@atian25 没有。经过排查,疑似服务器上其他进程(类似 vscode remote server进程)引起的问题。重启释放后不再出现此错误信息。

All 7 comments

这个错是没空间了吧?

但是感觉不太科学啊,我的 nvm 装在用户目录下的,我用户目录 900 多 G,几乎都没怎么用过。

通过修改系统配置:

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

提高监听的文件数确实可行,暂时没有什么问题,thanks:)

遇到了同样的问题,启动时报错:
ERROR 46 nodejs.ENOSPCError: ENOSPC: System limit for number of file watchers reached, watch '/usr/src/app/app/public/static'

@shiny 你是不是在 /app/public 目录下有 node_modules 了。

@atian25 没有。经过排查,疑似服务器上其他进程(类似 vscode remote server进程)引起的问题。重启释放后不再出现此错误信息。

Was this page helpful?
0 / 5 - 0 ratings