[ 작업 환경 ]

 

Windows10

Python3

Desktop PC

i5 9세대

Ram 16GB

Disk : C,D,E 드라이브 : SSD

         F 드라이브 : HDD

 

 

 

 

 [ 문제 상황 ]

 

필자가 개발해서 가동한 프로그램의 진행도가 높아질수록, 메모리 양이 늘어남을 확인할 수 있었습니다.

진행도 2.33% 일 때, Python에 237.8MB 이 할당되어 있음을 확인
진행도 3.24% 일 때, Python에 315.0MB 이 할당되어 있음을 확인

 

진행도 6.69% 일 때, Python에 584.2MB 이 할당되어 있음을 확인

 >>> 진행도와 Python에 할당된 메모리량이 정비례함을 확인할 수 있습니다.

 

 

 

 

 [ 문제 원인 ]

 

 프로그램이 작동하면서 데이터를 메모리에 저장해 계속 들고있기때문에 발생하는 문제입니다.

 

 

 

 

 [ 해결 방법 1 ]

 

 소스상에서 해당 부분에 대한 처리를 효율화하기 위해 이미 활용이 끝난 데이터를 삭제해주는 내용을 추가해줍니다.

 

 

 

 

 [ 해결 방법 2 ]

 

 만약 데이터를 계속 들고 활용해야한다면, 삭제를 해줄 수 없기 때문에 가상 메모리 크기를 증가시켜줍니다.

 

1. 제어판 -> 시스템 -> 고급 시스템 설정

2. 고급 -> 설정

3. 고급 -> 가상 메모리 -> 변경 -> 사용자 지정 크기 -> 처음 크기 및 최대 크기 수치 설정

 필자의 PC의 경우 디스크 볼륨을 여러개 두고 사용해서 각각의 드라이브에 기존의 현재 수치였던 2944 MB씩 페이징 파일 크기를 설정해주었습니다. 최종적으로 모든 드라이브의 총 페이질 파일 크기는 8832 MB면 필자 환경에서는 충분하다고 판단하여 수정해주었습니다.

 또한 조금이라도 높은 효율을 위해 SSD 디스크인 C,D,E에 대해서만 페이징 파일 크기를 할당해주었습니다. F의 경우 HDD 이기 때문에 굳이 페이징 파일 크기를 할당하지 않았습니다.

 

 

 

 

+ Recent posts