ulimit -a를 하면 나오는 사항 중에서 open files의 수를 고치려 합니다.
kldp문서를 하나 찾아서 거기에 나온데로 /usr/include/linux/fs.h의 NR_OPEN과 NR_FILE을 고치고 /usr/include/linux/limits.h의 NR_OPEN과 OPEN_MAX를 고치고 커널 컴파일을 다시 하였는데 여전히 ulimit -a를 해보면 똑같이 나오는 군요.
sysctl -a를 했을때
fs.file-max = 65536
fs.file-nr = 600 0 65536
이렇게 나오기는 하나
ulimit -a을 하면 open files는 기본값이 1024가 나옵니다.
그리고 간단한 소켓 서버를 짜서 테스트 해본 결과 1024개 이상 fd를 열지 못하는 군요..
new_node->item.time = data.time;
new_node->item.index = data.index;
new_node->item.string = (char *)(new_node + sizeof(list_t)); // 이 부분이 뭘하는건지요? 단지 문자열이 들어 갈만큼의 메모리 초기화 인지요?