2014-02-28 8 views
10

5000 개의 병렬 연결에 대해 제한된 서버를 iperf 서버로 잘못 사용했습니다. 가 지금은 로그인 할 때마다, 나는이 볼 (제한은 1,024 프로세스입니다) : 내가 그들을 죽이려, 그리고죽이기/재부팅 할 때마다 bash 포크 오류 (자원 일시적으로 사용할 수 없음)가 멈추지 않고 계속 표시됩니다.

-bash: fork: retry: Resource temporarily unavailable 
-bash: fork: retry: Resource temporarily unavailable 
-bash: fork: retry: Resource temporarily unavailable 
-bash: fork: retry: Resource temporarily unavailable 
-bash: fork: Resource temporarily unavailable 

을,하지만 난 추신 할 때,이 얻을 :

-bash-4.1$ ps 
-bash: fork: retry: Resource temporarily unavailable 
-bash: fork: retry: Resource temporarily unavailable 
-bash: fork: retry: Resource temporarily unavailable 
-bash: fork: retry: Resource temporarily unavailable 
-bash: fork: Resource temporarily unavailable 

을 내가 killall 또는 비슷한 일을 할 때도 마찬가지입니다. 난 시스템을 다시 부팅 시도했지만 다시 내가 재부팅 후 무엇을 얻을 수 있습니다 :

-bash-4.1$ sudo reboot 
-bash: fork: retry: Resource temporarily unavailable 
-bash: fork: retry: Resource temporarily unavailable 
-bash: fork: retry: Resource temporarily unavailable 
-bash: fork: retry: Resource temporarily unavailable 
-bash: fork: Resource temporarily unavailable 
-bash-4.1$ 

을 그래서 기본적으로 난 아무것도 할 수 없습니다. 그러나 모든 명령에이 오류가 발생합니다./ 그러나 "종료"할 수 있습니다.

이것은 실제 액세스 권한이없는 오프 사이트 서버이므로 실제로 끄거나 켤 수 없습니다.

어떤 아이디어로이 문제를 해결할 수 있습니까? 나는 어떤 도움을 주셔서 감사합니다.

+0

기계를 재부팅하려면 현장에있는 사람에게 전화해도 될까요? – nneonneo

+0

나는 그것을 피하려고 노력하고 있었지만,해야 할 것처럼 보였다 : 한숨 : – user2662165

답변

18

사용자가 로그인 할 수 있다고 가정하면 exec을 사용하여 모든 명령을 실행 해 볼 수 있습니다. exec을 실행 한 후에는 exec이 쉘을 죽일 것이기 때문에 다시 로그인해야합니다 (실행 한 명령으로 대체).

exec은 실행중인 셸을 실행할 프로그램으로 바꿀 것이므로 추가 프로세스 슬롯을 차지하지 않습니다. 따라서 ulimit 제한을 우회 할 수 있어야합니다.

+4

'exec sudo -s'를 시도해보십시오. 어쩌면 한도가 사용자 당 수퍼 유저가 더 많은 프로세스를 만들 수 있습니다. – Barmar

+1

감사합니다! exec를 사용하여 noproc 제한을 더 변경 한 다음 exec를 사용하여 시스템을 재부팅했습니다! 작동 했으므로 적어도 재부팅 할 때 물리적으로 이동하지 않아도됩니다! – user2662165

+0

은 정말 하루가되었습니다. –

5

나는 최근에 같은 문제가있었습니다. 제 경우에는 그 이유가 제 소유권하에 실행되고 제 명령에 아무 것도 쓰지 않는 거의 모든 자원을 소비 한 코드가 있다는 것입니다. 내가 한 일은 다음과 같습니다. "exec top"최대 리소스를 소비하는 PID를 식별합니다. "exec kill -9"위의 명령으로 식별 된 PID를 강제 종료합니다.

PID를 종료 한 후에 모든 것이 정상으로 돌아 왔고 다시 로그인 할 수있었습니다.

+0

이것은 실제로 질문에 대답하지 않습니다. 다른 질문이있는 경우 [질문하기] (http://stackoverflow.com/questions/ask)를 클릭하여 질문 할 수 있습니다. 당신은 [현상금을 추가] (http://stackoverflow.com/help/privileges/set-bounties)하면 충분한 [평판] (http://stackoverflow.com/help/)이 일단이 질문에 더 많은 관심을 끌 수 있습니다. 평판). –

+2

@ DanielVérité 1.) 내 글을 정말로 읽었습니까? 나는 어떤 질문도하지 않았다. 나는 내가 겪은 모범을 바탕으로 내 지식에 가장 잘 대답했다.나는 어떤 반발이나 행동도 얻지 않는다. – MYD

+0

@YMD : 위의 주석은 개인적으로 저에게 쓰는 것과는 반대로 stackoverflow 검토 대기열의 통조림 텍스트입니다. 귀하의 대답은 본질적으로 다른 답변과 동일하기 때문에 플래그가 붙어 있다고 생각합니다. 새로운 답변이 상당히 다를 것입니다. 유감스럽게도 상용구 텍스트가 이상하게 보일 경우 그 이상이 될 수 있습니다. [알려진 문제] (http://meta.stackoverflow.com/questions/271829) –