malloc 할당시 1G 넘게 크기 할당 되나요??

domiisa의 이미지

안녕하십니까~

제목 그대로 malloc 할당시에 1.2G넘게 할당 되나요??

HP 64비트 서버 사용중인데 free() 안해주고 1.2G를 넘지 못하네요...

물리적 메모리가 부족한건지..

char * p = (char * ) malloc(1318798880);
if(p == NULL){
printf("malloc error\n");
}

익명 사용자의 이미지

아마도 malloc 으로 얻을 수 있는 메모리 영역은 힙 영역으로 제한되기 때문에, malloc만으로 메모리를 100%사용하는 것은 안되는 것이 아닐까요.

대신 전역변수로 미리 버퍼를 생성하는 식으로 데이터 영역을 활용하셔도 될 것 같습니다. 물론 이 때는 오버플로우에 주의하셔야 겠습니다

dltkddyd의 이미지

램을 더 추가해보세요.

본인 맞습니다.
인증샷
우헤헤헤... 로 대신합니다.