Grunzüberwachungsfehler - Warten… Schwerwiegender Fehler: ENOSPC beobachten


Antworten:


1359

Nach einigen Recherchen fand die Lösung. Führen Sie den folgenden Befehl aus.

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

Fügen Sie für Arch Linux diese Zeile zu /etc/sysctl.d/99-sysctl.conf hinzu:

fs.inotify.max_user_watches=524288

45
Nun, es scheint mein Problem gelöst zu haben ... Aber wie? Warum? Haben Sie Quellen, die erklären, was passiert (oder passiert ist)? Oder darfst du es selbst tun? Wie auch immer, danke ...
Slacktracer

116
Das System hat eine Begrenzung, wie viele Dateien von einem Benutzer überwacht werden können. Sie können ziemlich schnell keine Uhren mehr haben, wenn Grunt mit anderen Programmen wie Dropbox läuft. Dieser Befehl erhöht die maximale Anzahl von Uhren, die ein Benutzer haben kann.
Benjamin Manns

62
Für Arch Linux hinzufügen fs.inotify.max_user_watches=524288zu /etc/sysctl.d/99-sysctl.confund führen sysctl --system. Dies bleibt auch bei Neustarts bestehen. Für weitere Informationen: wiki.archlinux.org/index.php/Sysctl
tnajdek

38
npm dedupehat es für mich geklärt. Ausgabe
reergymerej

25
Erklärung: echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf Schreibt am Ende der Datei /etc/sysctl.conf die Zeile "fs.inotify.max_user_watches = 524288" sudo sysctl -p konfiguriert den Kernel zur Laufzeit neu und lädt die Datei /etc/sysctl.conf als Parameter
kds

186

Jedes Mal, wenn Sie laufen müssen sudo something ..., um etwas zu reparieren, sollten Sie eine Pause einlegen, um darüber nachzudenken, was los ist. Während die hier akzeptierte Antwort vollkommen gültig ist, behandelt sie eher das Symptom als das Problem. Sorta das Äquivalent zum Kauf größerer Satteltaschen, um das Problem zu lösen: Fehler, kann nicht mehr Müll auf Pony laden. Pony hat schon so viel Müll geladen, dass das Pony vor Erschöpfung in Ohnmacht fällt.

Eine Alternative (vielleicht vergleichbar mit dem Entfernen von überschüssigem Müll vom Pony und dem Ablegen auf der Müllkippe) ist das Ausführen von:

npm dedupe

Dann gratuliere dir, dass du das Pony glücklich gemacht hast.


42
Danke, dass du das Pony glücklich gemacht hast.
Christian

2
Was genau macht es? Es hat mein Problem sicher gelöst. Danke @grenade
Arjun KR

4
Der Befehl 'npm dedupe' geht durch Ihren npm-Modulbaum und verschiebt jedes Paket im Baum so weit wie möglich nach oben. Das Ergebnis ist ein flacher Baum. Es verschiebt ein Paket, auch wenn es nicht dupliziert wird. Weitere Informationen
Arun Reddy,

1
es hat nicht geholfen, ich habe es versucht sudound jetzt funktioniert es für mich.
Asedsami

6
In meinem Fall scheint mein Problem darin zu bestehen, Dropbox installiert zu haben, die viele Uhren zu verwenden scheint. Also musste ich verwenden: fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -pwie in der akzeptierten Antwort, aber +1 für mich lehrennpm dedupe
Johann Echavarria

36

Nachdem Sie die Antwort der Granate ausprobiert haben , können Sie eine vorübergehende Korrektur verwenden:

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

Dies entspricht der Antwort von kds , ohne jedoch die Änderungen beizubehalten . Dies ist nützlich, wenn der Fehler erst nach einer gewissen Betriebszeit Ihres Systems auftritt.


3
Dies sollte die akzeptierte Antwort sein, da das Problem natürlich durch das, was gerade läuft, und nicht durch eine schlechte Konfiguration verursacht wird (siehe das Beispiel "Pony").
Arielnmz

7

Versuchen Sie diesen Befehl ( Quelle ) , um herauszufinden, wer inotify- Instanzen erstellt :

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

Meins sah so aus:

 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

Mit ps -p 2857konnte ich Prozess 2857 als identifizieren sublime_text. Erst nachdem ich alle erhabenen Fenster geschlossen hatte, konnte ich mein Knotenskript ausführen.


das gleiche mit mir für vscode, aber ich denke, es hängt auch mit Datei-Uhren zusammen
pcnate

3

Dieser Fehler trat auf, nachdem mein Client-PC abgestürzt war, der jest --watchBefehl , den ich auf dem Server ausführte, weiterhin bestand und ich versuchte, ihn jest --watcherneut auszuführen .

Die /etc/sysctl.confin den obigen Antworten beschriebene Ergänzung hat dieses Problem umgangen, aber es war auch wichtig, meinen alten Prozess über ps aux | grep nodeund killdarüber zu finden.


0

In meinem Fall war es mit vs-Code verbunden, der auf meinem Linux-Computer ausgeführt wurde. Ich ignorierte eine Warnung, die über File Watcher Bla Bla auftauchte. Die Lösung befindet sich auf der vs-code docs-Seite für Linux https://code.visualstudio.com/docs/setup/linux#_visual-studio-code-is-unable-to-watch-for-file-changes-in- this-large-workspace-error-enospc

Die Lösung ist fast die gleiche (wenn nicht die gleiche) wie die akzeptierten Antworten, hat nur mehr Erklärungen für jeden, der hierher kommt, nachdem er auf die Probleme von vs-code gestoßen ist.


0

In meinem Fall habe ich festgestellt, dass ich ein aggressives Plugin für Vim habe, habe es einfach neu gestartet.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.