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
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.
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
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.
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
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.
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.
grunt
ein Programm, das darunter inotify verwendet . Eine gute Erklärung finden Sie unter unix.stackexchange.com/questions/13751/… .Antworten:
Nach einigen Recherchen fand die Lösung. Führen Sie den folgenden Befehl aus.
Fügen Sie für Arch Linux diese Zeile zu /etc/sysctl.d/99-sysctl.conf hinzu:
quelle
fs.inotify.max_user_watches=524288
zu/etc/sysctl.d/99-sysctl.conf
und führensysctl --system
. Dies bleibt auch bei Neustarts bestehen. Für weitere Informationen: wiki.archlinux.org/index.php/Sysctlnpm dedupe
hat es für mich geklärt. Ausgabeecho 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 ParameterJedes 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:
Dann gratuliere dir, dass du das Pony glücklich gemacht hast.
quelle
sudo
und jetzt funktioniert es für mich.fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
wie in der akzeptierten Antwort, aber +1 für mich lehrennpm dedupe
Nachdem Sie die Antwort der Granate ausprobiert haben , können Sie eine vorübergehende Korrektur verwenden:
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.
quelle
Versuchen Sie diesen Befehl ( Quelle ) , um herauszufinden, wer inotify- Instanzen erstellt :
Meins sah so aus:
Mit
ps -p 2857
konnte ich Prozess 2857 als identifizierensublime_text
. Erst nachdem ich alle erhabenen Fenster geschlossen hatte, konnte ich mein Knotenskript ausführen.quelle
Dieser Fehler trat auf, nachdem mein Client-PC abgestürzt war, der
jest --watch
Befehl , den ich auf dem Server ausführte, weiterhin bestand und ich versuchte, ihnjest --watch
erneut auszuführen .Die
/etc/sysctl.conf
in den obigen Antworten beschriebene Ergänzung hat dieses Problem umgangen, aber es war auch wichtig, meinen alten Prozess überps aux | grep node
undkill
darüber zu finden.quelle
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.
quelle
In meinem Fall habe ich festgestellt, dass ich ein aggressives Plugin für Vim habe, habe es einfach neu gestartet.
quelle