기술 정보
home
채널 소개
home

aix 에서 _pollset_calc(cur=16383, max=17812) failed 발생

문서 유형
장애 해결
분야
모니터링/점검
키워드
aix
fdpool
ULIMIT
적용 제품 버전
6FS06
6FS07
7FS01
7FS02
1 more property

현상

설정된 최대 파일 디스크립터(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
SQL
복사

원인

ulimit -n 값이 unlimited로 설정되어 있어도, 실제로는 내부 최대값(16383)으로 제한되어 있어 에러가 발생합니다.
세션 수가 많고 데이터 파일이 많은 환경에서, 생성되는 파일 디스크립터 수 (fd max)가 제한(cur=16383) 값을 초과하여 에러 발생합니다.

해결

1.
패치를 적용합니다. (적용 패치: 244094 메모리 커널 관련 최신 패치)
주의
티맥스티베로에서 제공하는기술지원을 통해 패치를 적용합니다.
2.
회피책을 설정하여 오류 해결을 시도할 수 있습니다.
참고
회피책으로서 ulimit -n 값을 unlimited가 아닌 명시적인 값으로 설정하여 오류를 해결합니다.
권장 계산식: (_WTHR_PER_PROC * (데이터 파일 수 + 15)) + (tbsvr 프로세스 수 + 5) + 100 또는 3,000,000 으로 설정 권장.