web-dev-qa-db-ja.com

不機嫌そうな監視エラー - 待機中...致命的なエラー:監視ENOSPC

監視タスクを実行すると、なぜWaiting...Fatal error: watch ENOSPCを受け取るのですか?どうすればこの問題を解決できますか?

506
kds

いくつかの研究を行った後、解決策が見つかりました。下記のコマンドを実行してください。

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

Arch Linuxの場合は/etc/sysctl.d/99-sysctl.confに次の行を追加してください。

fs.inotify.max_user_watches=524288
1316
kds

何かを修正するためにSudo something ...を実行する必要があるときはいつでも、何が起こっているのかを考えるのを一時停止しておくべきです。ここで受け入れられた答えは完全に有効ですが、それは問題よりもむしろ症状を治療します。 Sorta:「エラー」の問題を解決するためにより大きなサドルバッグを購入するのと同じことを、ポニーにゴミを増やすことはできません。ポニーにはすでにたくさんのゴミが積まれているので、ポニーは疲弊しています。

代替手段(おそらくポニーから余分なゴミを取り除いてダンプに入れることに匹敵する)は、実行することです:

npm dedupe

それでは、ポニーを幸せにしてくれたことを祝福してください。

175
grenade

手榴弾の答えを試した後 あなたは一時的な修正を使うことができる:

Sudo bash -c 'echo 524288 > /proc/sys/fs/inotify/max_user_watches'

これは kdsの答え と同じことをしますが、変更を保持しません。これは、システムの稼働時間が経過した直後にエラーが発生した場合に便利です。

30
Arne L.

誰がinotify instances を作成しているのかを調べるには、次のコマンドを試してください( source )。

for foo in /proc/*/fd/*; do readlink -f $foo; done | grep inotify | sort | uniq -c | sort -nr

私のものはこんな感じでした:

 25 /proc/2857/fd/anon_inode:inotify
  9 /proc/2880/fd/anon_inode:inotify
  4 /proc/1375/fd/anon_inode:inotify
  3 /proc/1851/fd/anon_inode:inotify
  2 /proc/2611/fd/anon_inode:inotify
  2 /proc/2414/fd/anon_inode:inotify
  1 /proc/2992/fd/anon_inode:inotify

ps -p 2857を使用して、私はプロセス2857をsublime_textとして識別することができました。 all sublimeウィンドウを閉じた後に初めてノードスクリプトを実行することができました。

7
Michael Lewis

クライアントPCがクラッシュし、サーバーで実行していたjest --watchコマンドが持続した後、このエラーに遭遇し、再度jest --watchを実行しようとしました。

上記の回答で説明した/etc/sysctl.confへの追加はこの問題を回避しましたが、ps aux | grep nodekillで私の古いプロセスを見つけることも重要でした。

3
Aaron

Linuxでは、これをコマンドで修正します。

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

私の場合、Linuxマシンで実行されているvs-codeに関連していました。 File Watcher bla blaについて表示される警告を無視しました。ソリューションは、Linuxのvs-codeドキュメントページにあります https://code.visualstudio.com/docs/setup/linux#_visual-studio-code-is-unable-to-watch-for-file-この大きなワークスペースエラーエラーenospcの変更

解決策は、受け入れられた答えとほぼ同じです(同じではない場合)。vs-codeから問題に遭遇した後にここにたどり着いた人のために、より多くの説明があります。

0
azeez