본문 바로가기
무모한 도전-주식 인공지능 만들기

초기 테스터(initial tester)의 제작-45-

by 인터넷떠돌이 2020. 2. 2.
반응형

안녕하세요?

 

지난번 포스팅에서 어떻게 에러가 발생한 것을 보고하였는데, 문제는 이 에러가 메모리 부족이라고 해서, 단순하게 RAM을 더 구한다고 해서 해결이 될 문제가 아니라는 것입니다. 아무래도 어디선가 메모리 누수가 일어나고 있는 것은 확실한데, 문제는 이 에러를 잡기 위해서도 그렇고, 이래저래 헛다리를 짚게 되는 경우가 많았는데, 이번에 포스팅의 내용도 이런 헛다리를 짚은 것이 다소 포함되어 있습니다.

먼저 위 스크린샷을 보시면 알 수 있는 것처럼 일단 Reset()이라는 메서드를 따로 지정을 해서 원래는 시각화 모듈이 처음 불려 올 때만 나오던 것을 따로 메서드로 빼서 여러번 부를 수 있도록 만들어 줍니다.

그리고 나서 시각화 모듈을 본격적으로 작동시키기 전에 초기화를 시키는 메서드를 반드시 실행을 시키도록 코드를 만들어 주도록 합니다.

그러나 이렇게 하고서도 상황이 전혀 나아지지 않는 것을 확인할 수 있었습니다. 아무래도 어디서 생긴 문제인지 정말 알아내기 힘들다는 생각이 슬슬 듭니다.

아무래도 for loop에서 매번 호출이 되는 이 클래스가 문제를 일으킨 것이 아닌가 하는 생각이 여기서 들었습니다. 그래서 이 부분을 손을 보기로 했습니다.

 

 

일단 해당하는 코드를 맨 처음 클래스가 객체화라고 해야 할지, 호출이 되면 시작되는 메서드에서 불러 주도록 바꾸어 줍니다.

그러나 이렇게 했음에도 불구하고 10개의 종목이 넘어가서 11번째 종목을 건드리려 하는 순간 상황이 그다지 좋지 않게 되는 것을 또 확인할 수 있었습니다.

그래서 그냥 시행착오법으로 알아내기 상당히 어렵다는 생각이 들어서, 한번 자료를 검색해 보니, resource라는 파이썬 모듈을 사용하면 된다는데, 일단 위 스크린샷처럼 아나콘다 프롬프트에서 pip를 이용해서 해당하는 라이브러리를 가지고 오도록 합니다.

이렇게 해서 인스톨하는 과정 까지는 그렇게 어렵지 않게 성공적으로 끝이 나는 것을 확인할 수 있었습니다. 다만 이렇게 하고서도.........

 

이렇게 하고서도 그냥 import resource라는 것이 되지 않고 뒤에서 계속해서 s가 붙는 현상이 벌어지는 것 입니다. 이걸 떼려고 해도.......... 되지를 않았는데........

여기서 제가 한번 헛다리를 짚은 것이 하나 나옵니다. 어찌어찌해서 찾아보기는 했는데 스펠링이 하나 틀리는 것을 가지고서 전혀 엉뚱한 라이브러리를 가지고 오게 되는 것 입니다.

이렇게 해서 하는 수 없이 위 스크린샷처럼 pip install resource라는 식으로 입력을 해 보았더니 일단 설치가 되기는 무언가가 되었는데.........

계속해서 resource라는 라이브러리를 사용할 수 없는 현상이 벌어지는 것 입니다. 이게 메모리 누수를 잡아주는 툴이기는 한데, 윈도우즈 운영체제에서는 사용할 수 없고, 리눅스 상에서만 사용이 가능하다는 문제점이 있습니다. 그래서 하는 수 없이 이 resource 라이브러리를 가지고 와서 메모리 누스를 잡는 방법은 포기하고 다른 방법으로 잡아 보아야 합니다.

반응형