GOOGLE ADS

Samstag, 16. April 2022

NodeJS-Fehler „EMFILE, zu viele offene Dateien“ unter Mac OS

Seit einiger Zeit habe ich folgenden Fehler:

Error: EMFILE, too many open files '/Users/blagus/Gallery/Websites/Nicsware/Pills/resources/core/auth.node.js'
at Object.fs.openSync (fs.js:427:18)
at Object.fs.readFileSync (fs.js:284:15)
at Object.Module._extensions..js (module.js:473:44)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at instController (/Users/blagus/Gallery/Websites/Nicsware/Pills/engine/mvc.node.js:79:31)
at init (/Users/blagus/Gallery/Websites/Nicsware/Pills/engine/mvc.node.js:57:8)
at route (/Users/blagus/Gallery/Websites/Nicsware/Pills/engine/dispatcher.node.js:268:36)

Die Codezeile, die diese Datei (mvc.node.js:79) aufruft, ist

 this.currentRoute.class = require( controllerFile )[dispatchClass].bind( this );

(es ist ein Rahmen, den ich erstelle)

Wie Sie sehen können, wird die Datei auth.node.js von einem REQUIRE aufgerufen, sodass die angegebenen Lösungen mit gracefullFS und ähnlichem nicht passen. Außerdem tritt dieses Problem nur unter MacOS auf. In einem Ubuntu scheint es gut zu funktionieren.

Irgendwelche Gedanken?


Lösung des Problems

Das hat bei mir funktioniert:

ulimit -n 10480

hier gefunden

Keine Kommentare:

Kommentar veröffentlichen

Warum werden SCHED_FIFO-Threads derselben physischen CPU zugewiesen, obwohl CPUs im Leerlauf verfügbar sind?

Lösung des Problems Wenn ich das richtig verstehe, versuchen Sie, SCHED_FIFO mit aktiviertem Hyperthreading ("HT") zu verwenden, ...