2014-08-31 2 views
0

OSX 시스템에서 내 C 프로그램의 힙 공간을 늘릴 수 있는지 궁금합니다.힙 공간을 늘리십시오 - Mac에서 C 프로그램의 응용 프로그램 공간을 늘리십시오?

프로그램을 실행할 때 어떤 시점에서 " 시스템에 응용 프로그램 메모리가 부족합니다 ".

gcc my_program.c -o my_program_exec 

그리고 어느 시점에서 멈출 나는 오류 메시지가 :

전 C에 내 프로그램을 작성했습니다

, 난 그냥 특정 매개 변수없이 컴파일. 내 데이터 세트가 정말 크고, 약 40 000 행과 70 000 열을 가진 여러 int 행렬을 생성하려고합니다.

+0

4 바이트 'int'라고 가정하면 약 11.2GB의 메모리입니다. 제정신이 아닌 OS는 e를 제외하고는 하나의 청크에 많은 메모리를 제공하지 않습니다. 지. 당신은 몇 백 기가 바이트의 메모리를 가진 거대한 서버를 운영하고 있습니다. –

+0

도움이 될 수 있습니다 ... https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man2/setrlimit.2.html#//apple_ref/doc/man/2/setrlimit –

답변

0

40k * 70k * 4 바이트는 int 당 11 GiBytes보다 큽니다.
하이 엔드 서버가 없으면 많은 실제 메모리가 없습니다. 운좋게도 최신 OS에서 페이징을 사용할 수 있으므로 64 비트 OS를 제공한다면 대용량 스왑 파티션 (또는 OSX가 사용하는 모든 것)을 설정할 수 있어야하고 성능과 별도로 물리적 메모리를 염려 할 필요가 없습니다. ..).

+0

_ "하이 엔드 서버가 없다면 그만큼 많은 물리적 메모리가 없습니다."- MacBook에는 16 GB가 기본으로 제공됩니다. –

관련 문제