안녕하세요?
지난번 포스팅에서 어찌어찌 해도 결국은 메모리 누수를 잡는데 실패를 하였습니다만, 일단 이건 이것이고, 다음으로 할 일은 계속해서 이 메모리 사용량이 시간이 지나면서 계속 증가하는 문제를 잡고자 하는 것 입니다.
먼저 아무것도 하지 않았을 때의 메모리를 작업 관리자를 통해서 체크하는 상황입니다. 기본적으로 5.7기가의 메모리를 잡아먹고 있는 것을 볼 수 있습니다.
이제 파이참을 실행시켜서 프로그램을 실행시켜 보도록 합니다. 이렇게 하는 것으로 다음에는 프로그램을 실행하자 마자 메모리는 얼마나 먹는지를 알아보고자 합니다. 그런데 처음에는 작업관리자를 찍었지만, 무슨 이유에서 인지 위 스크린샷처럼 OpenAPI사진이 찍히고 말았습니다.
일단 프로그램을 정지시키도록 하고, 이 다음에 메모리가 돌아는 오기는 오는지 한번 살펴 보도록 합니다. 이렇게 하는 이유는 혹시나 하는 생각이 들어서 입니다.
위 스크린샷을 보시면 알겠지만, 한참 실행 중 일때는 6.7기가까지 올라간 메모리가 어느 순간 프로그램을 중지 시키니까 400MB가 돌아온 것을 볼 수 있었습니다.
그래서 이런 메모리 누수를 막아주는 jemalloc이 있다고 해서 이게 처음에는 파이썬 라이브러리인가 싶어서 한번 위 스크린샷처럼 pip를 이용해서 설치하려고 했지만 먹히지도 않았습니다.
그래서 인터넷에서 jemalloc-5.2.0 을 다운로드 받은 다음에, 이를 한번 위 스크린샷처럼 cmd를 실행시켜서 인스톨 해 보고자 했습니다.
그러나 어찌된 것인지 알 수 없게도 ./configure라는 명령어가 듣지 않는 것을 볼 수 있었습니다. 나중에야 알았지만, 이게 리눅스 명령어라서 윈도우에서는 먹히지 않는 다는 것을 알 수 있었습니다.
그래서 짚푸라기라도 잡는 심정으로 한번 while문 대신에 위 스크린샷처럼 2개의 메서드를 만들어서 서로가 서로를 끝에 서로 부르도록 만들어 주도록 했습니다.
이렇게 해서 실행을 시킨 다음에, 위 스크린샷처럼 한번 작업관리자를 통해서 메모리 사용량을 체크해 보고자 했습니다. 일단 막 시작할 무렵에는 6.4기가를 사용하고 있는 것을 볼 수 있습니다.
그런데 작동을 시작하고 나서 한 30분이 지나고 나서는 위 스크린샷에서 볼 수 있는 것처럼 사용량이 점점 늘어나는 추세를 확인할 수 있었습니다. 결국 이렇게 해도 계속해서 메모리의 사용량이 늘어나는 것을 피할 수는 없다는 것을 알 수 있었습니다.
'무모한 도전-주식 인공지능 만들기' 카테고리의 다른 글
메모리 누수를 잡기 위한 여정 part6 (0) | 2019.06.25 |
---|---|
메모리 누수를 잡기 위한 여정 part5 (0) | 2019.06.25 |
6월 3번째 주말의 평균회귀 테스트를 진행한 결과 (0) | 2019.06.24 |
메모리 누수를 잡기위한 여정 part3 (0) | 2019.06.23 |
메모리 누수를 잡기위한 여정 part2 (0) | 2019.06.22 |