| [ CnUnix ] in KIDS 글 쓴 이(By): mimosa (mimosa) 날 짜 (Date): 2002년 7월 8일 월요일 오전 10시 37분 37초 제 목(Title): Re: 동시접속 10만처리하기 답변 감사드립니다. 우선 Linux 시스템이 오픈 할 수 있는 최대 파일 수는 /proc/sys/fs/file-max만 고쳐줘도 되고 include/linux/fs.h 에서 NR_OPEN, NR_FILE 을 고쳐줘도 된다고 합니다 하나의 프로세스가 오픈할수 있는 파일의 수는 include/linux/limits.h 의 NR_OPEN, OPEN_MAX를 고쳐줘야 한답니다. 참고로 ulimit -a 로 보았을때의 open files 는 하나의 프로세스가 열수있는 파일의 수이고 sysctl로 보았을때의 fs.file-max는 시스템이 열수있는 파일의 수랍니다 저도 test시작전에 file open max가 문제가 되지 않을까해서 /proc/sys/fs/file-max값을 10만 이상으로 늘려놓고 시작해서 이 부분은 괜찮지 않을까 생각하고 있습니다.. 현재 file-nr부분을 살펴보면 68763개의 파일이 열려있다고 나옵니다 아 그리고 많은 분들이 poll을 추천하시더군요. 그런데 man page를 보면 linux의 경우는 poll이 내부적으로 select를 이용해서 구현되어 있어 쓰기는 편할지 몰라도 내부적으로 부딪히는 한계는 비슷할 것 같습니다. select를 쓰는 경우 FD_SETSIZE가 1024로 제한되어 있어서 이걸 늘릴까하다 FD passing으로 다른 프로세스로 보내서 1024개를 넘지 않도록 하였습니다. ----------------------------ooO0o-- * . ^ --o0Ooo---------------------------- 잠못들때 파도소리가 귓속에서 울릴때 우리는 잃어버린 전설을 찾아 떠나야한다 |