최대 Open 할수 있는 파일의 갯수를 조정하고 싶습니다.
글쓴이: jamongx / 작성시간: 목, 2004/07/29 - 11:30오전
솔라리스에 gcc 2.95.3을 사용하고 있구요
소켓이나 전송 받은 데이타를 저장하는 파일 descriptor 대략 1500~2000개
정도 open을 하려고 하는데요
/usr/include에 limits.h에 보니 256으로 제한이 걸려있더라구요
/* max # of files a process can have open */ #define OPEN_MAX 256
getconf OPEN_MAX라는 명령어를 처보면 [16384] 가 출력되는데요
이 값이 시스템에서 열수 있는 file descriptor의 갯수인가요 아니면
하나의 프로세스에서 열수 잇는 file descriptor의 갯수인가요? ^^;
후자든 전자든 이 값을 조정해서 더 열 수 있을것 같은데요
어떤 방법이 있을까요? 조언 부탁드립니다.
아래는 인터넷에서 찾은 내용입니다.
Solaris 2.3 과 이전버전에서는 직접 커널에 접근하여 이를 확인하여야하였지만, Solaris 2.4 이후버전에서는 아래와같은 내용을 /etc/system 에 추가함으로써 손쉽게 원하는 작업을 이룰 수 있다. set hard limit on file descriptors set rlim_fd_max = 4096 set soft limit on file descriptors set rlim_fd_cur = 1024 256 이하로 soft limit 를 줄이는 것은 BCP 모드를 이용하는 응용프로그램 등에서 문제를 보일 것이며, 1024 이상으로 soft limit 를 늘이는 것은 select() 를 이용하는 응용프로그램에서 몇몇 문제를 나타낼 것이다. stdio 나 stdio 를 이용하는 라이브러리를 사용하는 응용프로그램의 경우에는 256개 이상의 파일을 동시에 열 때에 에러를 나타낼 것이다.
Forums:
댓글 달기