Ich verwende Node.js (0.10.31) und Gulp (3.8.8), um einige Aufgaben in Windows 7 zu automatisieren, aber ich habe folgenden Fehler festgestellt:
%Vor% Ich habe das Projekt nach Ubuntu verschoben und das mit ulimit -n
command behoben, bin aber immer noch neugierig, wie ich das in Windows lösen kann.
Nun möchte ich zuerst wissen, ob es irgendwelche Einschränkungen gibt, die verhindern, dass mehr Dateien / Sockets in Windows 7 geöffnet werden, die EMFILE error
verursachen oder nicht?
Zweitens, wenn ja, wie kann ich diese Einschränkung ändern?
Innerhalb der VSC ++ - Laufzeit gibt es eine Einschränkung. Eine Anwendung kann nur 512 Dateideskriptoren über die Laufzeit öffnen, obwohl der Wert auf 2048 erhöht werden kann, wenn die Anwendung _setmaxstdio
aufruft (was meiner Meinung nach Knoten nicht tut). (Dies ist eine etwas vereinfachte Erklärung, für weitere Details siehe hier .) Sie können diese Einschränkung nicht direkt ändern (Sie könnten die 512 auf 2048 erhöhen, wenn Sie den Knoten dazu bringen würden, diese Funktion für Sie aufzurufen).
Wie auch immer Sie geschrieben haben, Sie verwenden den Knoten v0.10.31, der ziemlich alt ist. Soweit ich weiß (obwohl ich mir darüber nicht 100% sicher bin), hat Node in der Zwischenzeit von der Verwendung der VSC ++ - Laufzeit für Datei - I / O auf native WinAPI - Aufrufe umgestellt, die diese Einschränkung nicht haben, also könntest du die neueste Knoten-Version, wenn das eine Option für Sie ist.