시스템에서 지원하는 최대 FD의 갯수를 알 수 있는 방법이 있는
글쓴이: kukuman / 작성시간: 월, 2003/11/10 - 10:18오전
ulimit으로는 프로세스 한 개 당의 max fd number 밖에 안나오는 것 같아서요...
프로그램 돌리는 서버가 Linux인데요,,,
대몬 프로그램이 여러개 떠있는데,,,
소켓이 너무 많이 열리면 시스템 자체에서 소켓을 열 수 없게도 되는지요?
그렇다면 몇 개정도가 한계인지 혹시 아시는 분 있으면 알려주세요~
Forums:
man socket을 해보니 반환값이 int이더군요.즉, 사용하는 시
man socket을 해보니 반환값이 int이더군요.
즉, 사용하는 시스템의 int값만큼(양의 정수만큼만...) 소켓을 가질 수 있다는
결론이 나옵니다.
간단하게 알아보니 int는 현재 4바이트의 크기를 가지고 있더군요.
4바이트면 32Bits이고 2^31승 -1(음수제거, 0제거) 이니까 2,147,483,648가
나오는군요.
좀 많이 나오는데... -.-;
예전 int가 2바이트였을때는 32767개가 열린다고 하고 다녔는데 int의 값이 바뀐
이후에는 20억~~~ 이라는 소리를 해보질 못했네요... 정확한지도 모르겠고...
어쨌든 문서에 int로 반환한다고 나오고 int가 4바이트로 지정되어있으니 20억이
맞을겁니다. :oops:
------------------------------
좋은 하루 되세요.
...
/usr/include/linux/limits.h
/proc/sys/fs/file-max
답변 감사합니다~
많은 도움이 되었네요^^;;
근데 100,000개가 넘넨요~
호~~ :shock:
Be at a right place at a right time...
참고로, 현재 사용하고 있는 file 개수는 다음과 같이 확인하실 수 있
참고로, 현재 사용하고 있는 file 개수는 다음과 같이 확인하실 수 있습니다.
cat /proc/sys/fs/file-nr
1. Number of allocated file handles
2. Number of used file handles
3. Maximum number of file handles
2번째값이 3번째값보다 작을때는 별 문제 없습니다.
댓글 달기