2023. 1. 17. 20:41ㆍ프로젝트 로그/테스트x솔루션 JIG 개발기
라즈베리파이 수급이 잘 안되는 관계로 4GB 램을 가지고 있는 라즈베리파이4를 사용 중 입니다. 4GB 램을 가지고 opencv와 GUI 프로그램을 같이 돌리다 보니 확실히 성능 저하가 발생하며, opencv의 QR 검출 속도가 느린 현상이 발생 하였습니다.
SWAP 메모리를 사용하여 위 문제를 해결 해 보려고 하였으며, 체감 상, 크지는 않지만 QR 검출 속도가 예전 보다는 빨라진 것 처럼 보입니다.
그럼 라즈베리파이에서 SWAP 메모리를 설정하기 위한 방법을 설명하겠습니다.
SWAP()이란
시스템에 메모리가 부족한 경우 하드 디스크의 일부 공간을 활용하여 메모리 처럼 사용 할 수 있도록 하는 영역 입니다.
DRAM이 부족하게 되면 일부 사용중인 메모리를 SWAP 영역으로 복사하여 SWAP으로 옮겨진 사이즈 만큼 DRAM 메모리를 확보하게 됩니다.
SWAP의 단점으로는 저장 장치를 사용하는 만큼 DRAM에 비해 속도가 느립니다. 또한 Micro SD 카드를 사용하는 경우 , 메모리 쓰기 작업을 많이 하면 SD 카드의 수명에 영향을 주므로 다른 하드 디스크가 연결되었다면 그 디스크에 저장 위치를 설정 하는 것을 권장 합니다.
SWAP 설정 방법
SWAP 서비스 멈춤
$ sudo service dphys-swapfile stop
$ free -h
total used free shared buff/cache available
Mem: 7.7Gi 277Mi 5.7Gi 67Mi 1.7Gi 7.1Gi
Swap: 0B 0B 0B
SWAP 설정 변경
아래 경로의 dphys-swapfile 파일을 열고 그림에서 표시한 CONF_SWAPSIZE를 수정 합니다.
$ sudo vi /etc/dphys-swapfile
CONF_SWAPSIZE의 단위는 M바이트이며, 1024 입력 시 1GB로 설정 됩니다.
CONF_SWAPFILE은 SWAP 파일이 저장되는 위치를 나타 내며, SD 카드 보다는 하드 디스크의 위치로 설정하는 것을 권장 합니다.
SWAP 시작
$ sudo service dphys-swapfile start
'프로젝트 로그 > 테스트x솔루션 JIG 개발기' 카테고리의 다른 글
[OpenCV 디버깅] 카메라 QR 인식 시, 문제 해결 (0) | 2023.01.20 |
---|---|
[Python] 구조체 형식으로 Serialize Deserialize 하기 (0) | 2023.01.18 |
[PyQt]QcoreApplication.processEvents() (1) | 2022.10.31 |
[AWS Lambda] Application 만들기 (0) | 2022.10.28 |
[AWS Lambda] Python Package 설치 (0) | 2022.10.27 |