malloc 을 크게 잡는것에 대한 질문입니다.
장난감
2023.04.01
안녕하세요.
제가 코드를 짜는데 int 형으로 3100 x 3100 개의 메모리 공간을 잡으려고 합니다.
컴퓨터는 리눅스 우분투 기반 64 bit 예 i5, 메모리는 8G 입니다.(리눅스 버전을 확인하려고 하는데 cat/etc/issue 가 없는 명령어라고 나오고 있습니다. 게다가 putty 로 작업중이라서 오로지 터미널 명령어로만 해야해서..)
인터넷을 보니까 swap 사이즈를 변경하라고 하는데
변경하는 법을 찾아보고 실행을 해도 잘 안서요.
질문 입니다.
1) 3100 x 3100 x sizeof(int) = 36.66 MByte 니까 충분히 메모리 공간에서 잡을것 같은데 왜 안되는 건가요??
2) malloc 을 크게 잡아야 할 때 잘 잡을 수 있는 코딩 테크닉 같은거 있으시면 알려주시면 감사하겠습니다.
좋은 하루 되세요.
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
혹시 저같은 분이 보실까봐 제가 짰던 부분을 올려놓겠습니다.
#define A 3100#define B 3100
int * ptr = (imt *) malloc(sizeof(int)*A*B);
gcc 컴파일했을때 위 줄쳐진 부분에서segmentation fault 에러가 났었습니다.