2014-02-14 3 views
1

요청 모듈에서 GET 작업을 수행하고 MongoHQ 상점에 쓰는 동안 Ubuntu 머신에서이 오류가 발생합니다. I이 용액 보이면서Node.JS 요청 모듈 - 오류 : EMFILE 연결

{ [Error: connect EMFILE] stack: 'Error: connect EMFILE\n at exports._errnoException (util.js:682:11)\n at connect (net.js:813:19)\n at net.js:897:9\n at Object.asyncCallback [as callback] (dns.js:78:16)\n at Object.onlookup [as oncomplete] (dns.js:94:10)', code: 'EMFILE', errno: 'EMFILE', syscall: 'connect' }

:

내 에러이있다

How do I change the number of open files limit in Linux?

및 I가되도록 내 ulimit를 값을 변경하여 소정의 용액을 따라 ulimit를 내 출력 -a는 다음과 같습니다.

4096

NOFILE

  • 소프트 NOFILE 4096
  • 하드 : 나는이 라인을 추가

    https://askubuntu.com/questions/162229/how-do-i-increase-the-open-files-limit-for-a-non-root-user

    :

    나는이 링크에서 내 limits.conf 파일을 변경 나는 여전히 같은 문제가 있습니다.

    그러나 우분투 상자에는이 문제가없는 Amazon EC2 인스턴스에서 실행되는 메모리와 저장소가 적습니다. 이 상자를 변경하지 않은 유일한 차이점은 내 문제 기계가 정확한 12.04.3 LTS를 실행하는 동안 정확한 12.04.2 LTS를 실행하고 있다는 것입니다.

    도움을 주시면 감사하겠습니다.

답변

0

나는 당신이 올바른 길이라고 생각합니다. 나는 또한 EMFILE 오류가 무엇을 궁극적으로 고정이

*    soft nofile   100000 
*    hard nofile   1000000 
root    soft nofile   100000 
root    hard nofile   1000000 

그때 재부팅 내가 더 이상 문제가 없었는 /etc/security/limits.conf 내 에 다음 줄을 추가했다 있었다. '*'는 루트가 아닌 모든 사용자를 의미하므로이 프로그램을 실행하는 사용자가 무엇이든 관계없이 기본적으로 모든 것을 포착합니다. 내가 말할 수있는 것부터 ulimit은 사용자가 다시 로그인 할 때까지 변경되지 않으므로 프로세스와 로그 아웃을 종료하고 다시 로그인해야 할 수도 있습니다. 이렇게하면 재부팅이 저에게 효과적이었습니다.