문서유형ㅣ장애해결
분야ㅣ모니터링/점검
적용제품버전ㅣ6FS06, 6FS07, 7FS01, 7FS02
문서번호ㅣTMOTS009
현상
설정된 최대 파일 디스크립터(fd: file descriptor) 수를 초과해 fd 생성 실패하여 aix 에서
_pollset_calc(cur=16383, max=17812) failed. 발생한 오류 현상입니다.발생하는 오류 메세지는 다음과 같습니다.
[07-30T22:39:57.808733] [FRM-222] [I] _pollset_calc(cur=16383, max=16523) failed. [07-30T22:39:57.808852] [FRM-222] [I] event addition failure - fd=16523, flags=5, return=-1, errno=0, evt=000000014f3bbda0 [07-31T15:35:58.459412] [FRM-222] [I] _pollset_calc(cur=16383, max=16524) failed. [07-31T15:35:58.459457] [FRM-222] [I] event addition failure - fd=16524, flags=5, return=-1, errno=0, evt=000000014f3bd310
원인
ulimit -n 값이 unlimited로 설정되어 있어도, 실제로는 내부 최대값(16383)으로 제한되어 있어 에러가 발생합니다.세션 수가 많고 데이터 파일이 많은 환경에서, 생성되는 파일 디스크립터 수 (fd max)가 제한(cur=16383) 값을 초과하여 에러 발생합니다.
해결
1. 패치를 적용합니다.
적용 패치: 244094 메모리 커널 관련 최신 패치
주의티맥스티베로에서 제공하는기술지원을 통해 패치를 적용합니다.
2. 회피책을 설정하여 오류 해결을 시도할 수 있습니다.
참고회피책으로서 ulimit -n 값을 unlimited가 아닌 명시적인 값으로 설정하여 오류를 해결합니다.권장 계산식: (_WTHR_PER_PROC * (데이터 파일 수 + 15)) + (tbsvr 프로세스 수 + 5) + 100 또는 3,000,000 으로 설정 권장