2011-03-08 21 views
5

me sale el siguiente error sólo en mi ejemplo Rackspace Ubuntu Maverick ... pero no en mi local de Ubuntu Lucid VM:Demasiados archivos abiertos utilizando child_process

pipe(): Too many open files 
pipe(): Too many open files 

child_process.js:223 
    var fds = this._internal.spawn(path, 
         ^
Error: Error spawning 
    at ChildProcess.spawn (child_process.js:223:28) 
    at child_process.js:10:15 
    etc..etc.. 

El código que lo genera:

function getHeader(url, callback) 
{ 
    var client = spawn('curl', ['-I', url]); 
    client.stdout.on('data', function(data) 
    { 
    client.kill('SIGTERM'); 
    callback(data.toString('utf8')); 
    }); 
} 
+1

No sé qué puedes hacer para solucionarlo, pero la cantidad de archivos abiertos es una parte configurable del sistema operativo, por lo que funciona perfectamente localmente y se interrumpe en tu servidor. –

Respuesta

3

Sería útil saber qué tan bajo su proveedor de hosting ha establecido el límite de archivos: ulimit -n le dirá cuál es el límite de setrlimits(2) en el número de descriptores de archivos abiertos por proceso. Las instalaciones típicas usan 1024. Pueden haberlo configurado mucho más bajo para limitar el uso de memoria interna.

Existen límites estrictos, que solo puede plantear al pedir cortésmente Rackspace (a menos que tenga acceso de escritura, por ejemplo, /etc/security/limits.conf), y límites flexibles, que pueden elevarse hasta el límite estricto. Pueden haber reducido los límites suaves, para tratar de mantener el uso de recursos bajo, pero mantener el límite estricto más alto.

También sería útil saber cuántos descriptores de archivos node está utilizando actualmente. Mientras está conectado, marque /proc/$(pidof node.js)/fd/ para ver cuántos archivos están abiertos. ¿Tal vez no está cerrando archivos o tomas de corriente tan pronto como podrían cerrarse?

+0

'ulimit -n' es 1024 en el cuadro de Rackspace y mi VM ... – mkrecny

+0

también el contenido de'/etc/security/limits.conf' es idéntico en ambas instancias .. – mkrecny

Cuestiones relacionadas