Было бы полезно узнать, как низко ваш хостинг-провайдер установил ограничение на количество файлов: ulimit -n
скажет вам, каково ограничение setrlimits(2)
на количество дескрипторов открытых файлов на процесс. Типичные установки используют 1024
. Возможно, они установили его намного ниже, чтобы ограничить использование памяти в ядре.
Существуют жесткие ограничения, которые вы можете повысить, только вежливо спросив Rackspace (если у вас нет прав на запись, например, /etc/security/limits.conf
), и мягкие ограничения, которые можно повысить до жесткого предела. Возможно, они установили мягкие ограничения ниже, чтобы попытаться снизить использование ресурсов, но сохранили жесткие ограничения выше.
Также было бы полезно узнать, сколько файловых дескрипторов node
используется в настоящее время. Когда вы вошли в систему, отметьте /proc/$(pidof node.js)/fd/
, чтобы узнать, сколько файлов открыто. Возможно, вы не закрываете файлы, сокеты или каналы так быстро, как они могут быть закрыты?