티스토리 뷰
평상시에는 라즈베리 파이에서 빌드해도 전혀 문제가 없던 프로젝트인데 갑자기 별다른 에러 코드도 없이 컴파일이 중단되었다. 이런 황당한 일이! 소스 코드의 오류가 아닌데 빌드가 되지 않다니.... 몇 번 재시도하면서 살펴보니 조금 사이즈가 큰 소스 코드를 컴파일하는 시점에 시스템 메모리가 거의 소모되면서 컴파일이 중단되는 것이었다.
"g++: fatal error: 죽었음 signal terminated program cc1plus" 또는
"g++: fatal error: killed signal terminated program cc1plus" 메시지가 나올 뿐 별다른 힌트를 제공하지 않았다. 찾아보니 메모리 부족으로 인한 현상이 많다고 한다. 실제 메모리를 늘려주면 좋겠지만 가상 메모리를 늘리는 쉬운 방법이 있다.
sudo dphys-swapfile swapoff
일단 위의 명령으로 스왑 메모리 사용을 중지시킨다.
"sudo vi /etc/dphys-swapfile" 등의 명령으로 설정 파일을 열어 CONF_SWAPSIZE 항목을 원하는 값으로 수정한다. 위의 그림은 100M로 지정되어 있는 모습이고 1G로 바꾸려면 1024를 입력하면 된다.
sudo dphys-swapfile setup
sudo dphys-swapfile swapon
sudo reboot
크기를 조정한 다음에는 setup으로 가상 메모리를 재설정하고 가상 메모리를 가동시킨다음 시스템을 재가동시켜 보아서 가상 메모리가 제대로 올라왔는지 확인하면 된다.
위의 그림처럼 "grep SwapTotal /proc/meminfo" 명령으로 가상 메모리의 크기를 확인할 수 있다.
메모리를 확장한 다음에 다시 빌드해 보니 위의 그림처럼 컴파일러가 사용하는 메모리는 여전히 많았지만 넉넉한 VM 크기 덕분에 빌드는 정상적으로 수행되었다.
'컴퓨터 팁(Tip)' 카테고리의 다른 글
리눅스 시스템 성능 분석 도구 top 명령 사용하기 (0) | 2022.10.18 |
---|---|
윈도 시스템 성능 상황 분석하기 (0) | 2022.07.05 |
라즈베리파이 VNC로 접속하기 (0) | 2022.04.29 |
라즈베리파이 OS 부팅 SD 만들기 (1) | 2022.04.28 |
리눅스 가상 머신 용량 줄이기 요령 (1) | 2021.11.04 |