안녕하세요 스페로입니다...
요즘 학과 교수님과 연구중인 프로젝트를 하다가... 떠오른 질문인데...
이곳 자게가 여러 경험많은 개발자들의 경험을 이야기 할수 잇는 좋은 공간 같아..
다음과 같은 질문을 쌔웁니다....
1. 머신당 프로세스 생성 에 한계 갯수?
process / machine (한 컴퓨터가 생성할수있는 프로세스수)
2. 프로세스가 생성할수 있는 자식프로세스의 한계 갯수?
child process / process (한프로세스가 거느릴수 잇는 자식프로세스)
3. 프로세스가 생성할수 있는 스레드의 수
thread / process
4. 한시스템이 생성할수 있는 socket의수
socket / machine
5. 한프로세스가 생성할수 있는 socket의수...
socket / process
질문이 애매 모할수 잇는데요.. 일단 OS별로 차이가 잇을거라 생각하고..
머신의 능력의 차이가 잇을거라 생각합니다...
fork를 할때 fork에러를 일으키는 한도를 정확히 측정 하려고 하는데...
하나의 프로그램이 무한히 포크를 하다가 에러를 내는것은 1프로세스가 자식을 몇개를 생성 하는가?
만약 1000개 만들고 더이상 못 할때...
이 프로그램을 동시에 두개를 돌렸는데 두개 모두 1000개를 만든다면..
이건 머신에 한계프로세스에 도달한계아니고 한프로세스가 생성하는 자식 프로세스의 한계에
도달했다고 할수 잇죠...
이런 일련의 이상 야릇한 호기심이 생겻는데..
이런 것에 대한 명괘한 답을 찾을수가 없네요..
일단 플렛폼은 리눅스고요.. ㅎㅎ
소스를 첨부하는데요...
서버는 두가지 프로세스 모델과 스레드 모델로서.. 에코기능을 하는 에코 서버입니다.
모드 리퀘스트 마다 프로세스를 생성해서 또는 스레드를 생성해서 처리합니다..
클라이언트는 시뮬레이터로 동시에 수많은 클라이언트 생성을 위해 프로세스 모델입니다...
이런 테스트 중에 생긴 한계프로세스 생성과 한계 스레드 생성 한계 소켓 생성에 대한
이상 야릇한 질문이엇음다..
ps /
LInux / Kylix 게시판 에 게제할까 Turbo C/ Borland C++에 게시할까 고민하다가..
자게에서 여러 개발자님들의 경험을 듣고 시퍼서 이곳에 올립니다..
이점 양해 해주세요...
|