AIX 5.2에서 calloc이 실패하네요...
글쓴이: egonspace / 작성시간: 금, 2009/12/11 - 9:20오후
프로그램을 구동하면 malloc, calloc등을 여러 곳에서 사용합니다.
구동중에 에러가 나는데,
원인은 calloc(1, 1048)이 실패를 하네요.(NULL이 리턴됨)
메모리 부족 상황은 아니구요.(errno가 세팅이 안되고, 메모리도 많이 남아 있는 상황임)
에러 났을 때 malloc으로 다시 할당하면 문제없이 진행됩니다.
또 한가지 특이한점은
calloc(1, 1048)이 실패했을 때,
다시 다른 size로 calloc을 시도해봤더니
512바이트까지만 되고 513바이트부터 계속 실패를 하더군요.
에러 발생이전엔 64K도 있고 6168바이트짜리 할당도 잘 수행되었습니다.
에러 발생시점까지 총 76M정도 메모리를 할당했고, calloc에 의해 할당된 메모리는 6M가 조금 넘네요.
다른 플랫폼엔 아무 문제가 없는데 AIX 5.2와 AIX 5.3에서 이 문제가 종종 발견되네요.
혹시 AIX에 calloc 관련해서 버그가 있다거나 이에 대해 아시는 분 답변 좀 부탁합니다.
구글링해서 열씨미 찾아보고 있긴한데 잘 없네요 ㅠ
Forums:
memory fragmentation이
memory fragmentation이 발생해서 실패하는게 아닐까요?
RET ;My life :P
댓글 달기