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

메모리 누수를 잡기 위한 여정 part 9-모의투자

by 인터넷떠돌이 2019. 6. 25.
반응형

안녕하세요?

 

처음에는 jemalloc이라는 강력한 매모리 관리 툴을 사용하고자 했습니다만, 문제가 생겨서 nedmalloc이라는 차선책에 들어가서, 이걸 간신히 적용시킨 것 까지 보여드렸습니다. 그래서 이번 포스팅에서는 주식시장이 열린 김에 한번 작업에 들어가 보고자 했습니다.

 

먼저 위 스크린샷과 같이 한번 pytrader를 작동 시켜서 지난번 평균회귀 테스트를 통해서 지정을 하였는 10개의 종목을 가지고 오도록 합니다.

 

그리고 나서 처음에는 대다수 종목이 지난주와 겹치기 때문에, 일단 데이터 베이스만 따로 다르게 지정을 해 주도록 합니다.

 

그 다음에는 딱 한종목만이 달라졌기 때문에, 그 종목의 종목코드를 지우고, 다시 다른 코드를 붙여 주도록 만들어 줍니다.

 

 

일단 먼저 시작하자 마자 메모리 상황인데, 밤새 C 컴파일러 설치다 뭐다 해서, 메모리가 상당히 부족한 상태로 시작을 하는 것을 알 수 있습니다.

 

그런데 1시간이 지나고 나서도 그다지 큰 변화가 없는 것을 볼 수 있었습니다. 이 상태로 2시간으 더 가다가 메모리 부족으로 컴퓨터가 프리징이 되어 버렸습니다.

 

다시한번 더 실행을 시키고 나서는 다시 파이참을 실행시키고 나서는 위 스크린샷처럼 3.5기가만을 사용하는 것을 볼 수 있었습니다. 기존에 비해서 상당히 적은양의 메모리만 초기에 사용하는 것 입니다.

 

그런데 문제가 생긴 것이, 마지막 장 종료하기 직전까지 가니까, 위 스크린샷처럼 꾸준히 메모리의 사용량이 증가하는 것을 볼 수 있었습니다.

 

거기다가 고기도 놓치고 그물도 망가진 것이, 위 스크린샷에서 보이는 것처럼 원래는 action_list는 10개 나와야 하는데 9개만 나오고, 그 마져도 제대로 실시간으로 감시도 안되는 것을 볼 수 있었습니다. 즉, nedmalloc을 써서 메모리 확보는 좋은데, 정작 성능이 떨어진다는 것도 확인할 수 있었습니다.

반응형