안녕하십니까~
제목 그대로 malloc 할당시에 1.2G넘게 할당 되나요??
HP 64비트 서버 사용중인데 free() 안해주고 1.2G를 넘지 못하네요...
물리적 메모리가 부족한건지..
char * p = (char * ) malloc(1318798880); if(p == NULL){ printf("malloc error\n"); }
아마도 malloc 으로 얻을 수 있는 메모리 영역은 힙 영역으로 제한되기 때문에, malloc만으로 메모리를 100%사용하는 것은 안되는 것이 아닐까요. 대신 전역변수로 미리 버퍼를 생성하는 식으로 데이터 영역을 활용하셔도 될 것 같습니다. 물론 이 때는 오버플로우에 주의하셔야 겠습니다
램을 더 추가해보세요.
본인 맞습니다. 인증샷 우헤헤헤... 로 대신합니다.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
저도 정확히는 모르겠습니다만...
아마도 malloc 으로 얻을 수 있는 메모리 영역은 힙 영역으로 제한되기 때문에, malloc만으로 메모리를 100%사용하는 것은 안되는 것이 아닐까요.
대신 전역변수로 미리 버퍼를 생성하는 식으로 데이터 영역을 활용하셔도 될 것 같습니다. 물론 이 때는 오버플로우에 주의하셔야 겠습니다
그건 아마도 램 용량이 부족해서 그럴 겁니다.
램을 더 추가해보세요.
본인 맞습니다.
인증샷
우헤헤헤... 로 대신합니다.
댓글 달기