Warum erhalte ich den Warten...Schwerwiegender Fehler: watch ENOSPC
, wenn ich die Watch-Aufgabe ausführe? Wie löse ich dieses Problem?
Antworten
Zu viele Anzeigen?Jedes Mal, wenn Sie sudo etwas ausführen müssen...
, um etwas zu reparieren, sollten Sie innehalten und überlegen, was los ist. Während die akzeptierte Antwort hier vollkommen gültig ist, behandelt sie eher das Symptom als das Problem. So etwas wie größere Satteltaschen zu kaufen, um das Problem zu lösen: Fehler, kann nicht mehr Müll auf das Pony geladen werden. Das Pony hat bereits so viel Müll geladen, dass es vor Erschöpfung zusammenbricht.
Als Alternative (vielleicht vergleichbar damit, überschüssigen Müll vom Pony zu nehmen und auf der Mülldeponie abzulegen), führen Sie aus:
npm dedupe
Dann beglückwünschen Sie sich selbst dafür, dass Sie das Pony glücklich gemacht haben.
Nachdem Sie die Antwort von Grenade ausprobiert haben, können Sie ein temporäres Fix verwenden:
sudo bash -c 'echo 524288 > /proc/sys/fs/inotify/max_user_watches'
Dies bewirkt dasselbe wie die Antwort von kds, jedoch ohne die Änderungen dauerhaft zu speichern. Dies ist nützlich, wenn der Fehler nur nach einer gewissen Betriebszeit Ihres Systems auftritt.
Um herauszufinden, wer inotify-Instanzen erstellt, versuchen Sie diesen Befehl (Quelle):
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
Verwenden von ps -p 2857
, konnte ich Prozess 2857 als sublime_text
identifizieren. Erst nachdem ich alle Sublime-Fenster geschlossen hatte, konnte ich mein Node-Skript ausführen.
Ich bin auf diesen Fehler gestoßen, nachdem der Client-PC abgestürzt ist, das jest --watch
Kommando, das ich auf dem Server ausgeführt habe, bestand weiterhin und ich habe versucht, jest --watch
erneut auszuführen.
Die Ergänzung zu /etc/sysctl.conf
, die in den obenstehenden Antworten beschrieben wurde, hat dieses Problem umgangen, aber es war auch wichtig, meinen alten Prozess über ps aux | grep node
und kill
zu finden.
- See previous answers
- Weitere Antworten anzeigen