본문 바로가기

OS/linux&ubuntu

[ERROR] -bash: fork: retry: Resource temporarily unavailable

반응형

어느순간 ls 도 안되는 경우가 있었다.

 

무슨 명령어만 치면 아래와 같이 에러가 났다.

-bash: fork: retry: Resource temporarily unavailable
-bash: fork: Resource temporarily unavailable
-bash: fork: Interrupted system call

ps는..

ps: error while loading shared libraries: libprocps.so.8: cannot open shared object file: No such file or directory

원인

은 설정해놓은 프로세스 또는 파일 OPEN 권한이 꽉 찼다는? 것이다.

 

해결방법

ulimit -a

를 해보면

이런 느낌이 있는데 보통

open files와 max user processes가 문제라고 한다 보통 기본값 1024

그런데 우리는 저번에 한번 같은 원인으로 max user processes를 늘렸는데도 또 그런것이다.

 

비정상적인 경우가 아니라면 여기서 max user processes를 변경 후 재부팅하면 괜찮아진다.

https://sysops.tistory.com/99

 

[Linux] ulimit 설명 및 설정방법

ulimit 이란? ulimit는 프로세스의 자원 한도를 설정하는 명령, soft한도,hard한도 두가지로 나뉨 soft : 새로운 프로그램을 생성하면 기본으로 적용되는 한도 hard : 소프트한도에서 최대

sysops.tistory.com

 

그래서 저번에는 재부팅하니까 됬는데 이번에는 좀 알아보고자 해서 검색을 조금 했다.

 

max user processes는 한 유저가 킬수있는 프로세스의 최대값으로

ps -ef

를 하면 지금 켜진 모든 프로세스가 나온다.

 

여기서 문제점이 있었다. 한도 끝도 없이 프로세스가 켜져 있는것이다. (아마도 513869개 쯤 켜지지않았나 싶다)

 

그중 이상한 점이 이거였다.

 

그리고 공통점이 부모의 PID인 PPID가 다 동일한 5628이였고 모르는 sshd 였다...

일단 작업을 진행해야해서 부모를 죽이면 다 사라진다는 말이 있어 부모인 5628 프로세스를 죽였다.

그냥 python3라고만 되어있어 정확하게 어떤 프로세스였는지는 더 찾아서 정확한 원인은 찾아봐야겠지만 일단 저러고 나니 해결은 되었다.

 

어떤 프로세스가 자꾸 sshd로 저런작업을 하는지 알아봐야할것 같다.

 

오늘의 에러 일기 끝

 

반응형