Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

BRSoo

[Linux] -bash: fork: 자원이 일시적으로 사용 불가능함 본문

Tech

[Linux] -bash: fork: 자원이 일시적으로 사용 불가능함

BR-soo 2016. 10. 20. 14:29

리눅스 에서 다중쓰레드로 작업이 있을경우, 

아래와 같은 현상이 발생 될수 있다.



[test@localhost ~]$ ls | grep nn
-bash: fork: retry: 자원이 일시적으로 사용 불가능함
-bash: fork: retry: 자원이 일시적으로 사용 불가능함
-bash: fork: retry: 자원이 일시적으로 사용 불가능함
-bash: fork: retry: 자원이 일시적으로 사용 불가능함
-bash: fork: 자원이 일시적으로 사용 불가능함

이경우, 아래같이 커널 쓰레드를 늘려주면 해결 된다.

[test@localhost ~]$ cat /proc/sys/kernel/threads-max
60966
[test@localhost ~]$ echo 100000 > /proc/sys/kernel/threads-max
-bash: /proc/sys/kernel/threads-max: 허가 거부
[test@localhost ~]$
uid=500(test) gid=500(test) groups=500(test) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[test@localhost ~]$ su - 
암호:
[root@localhost ~]# echo 100000 > /proc/sys/kernel/threads-max




저런 오류가 나오는 이유는

멀티 쓰레드로 발생된 쓰레드가 정상적으로 죽지 않고 그대로 남아 있기 때문이다.


위방법은 일시적으로 쓰레드 갯수를 늘려 당장 사용을 하게 만드는 것 이지만,

본질적으로 멀티쓰레드를 사용하는 프로그렘에서 쓰레드 core 갯수조절이나, 

정상적으로 죽을수 있게 패치를 해야 한다.


'Tech' 카테고리의 다른 글

[MySQL] swap메모리 사용과 Filesystem Cache  (0) 2016.10.21
[SMTP] SMTP 에 DKIM 적용 하기  (0) 2016.10.20
[MySQL] innodb 와 myisam 차이  (0) 2016.10.20
Comments