본문 바로가기

메모리 누수24

초기 테스터(initial tester)의 제작-48- 안녕하세요? 지난번 포스팅에서 어떻게 예상을 하였는 캔들 차트의 용량이 문제가 아니라는 것을 알 수 있었습니다. 그래서 다시한번 확인을 해 본다고 이번에는 60분봉을 한번 시도해 보고 나서, 다음으로 자료를 검색해서 겨우겨우 해결책을 확인할 수 있었습니다. 다만 이 시점에서 완료라고 하기에는 아직도 어디서 어떤 오류가 나올 지 모르기 때문에, 일단 완성 선언을 하는 것은 보류 하도록 했습니다. 먼저 그 동안 10분봉을 가지고서 작업을 해서 에러가 난 것이 아닌가 해서 다시한번 확인을 해볼 것을 겸해서 60분봉을 가지고서 한번 작업을 하였습니다. 그리고 나서 위 스크린샷에서 나오는 것처럼 역시나 이번에도 메모리 부족으로 보이는 에러로 인해서 중단이 된 것을 확인할 수 있었습니다. 그런데 확인을 해보면, 좀.. 2020. 2. 3.
초기 테스터(initial tester)의 제작-47- 안녕하세요? 지난번에 일단 데이터를 시각화 해주는 곳에서 에러가 발생했다는 것을 언급했었는데요, 일단 먼저 생각한 것은 우선 주식 캔들 차트를 구성하는 데이터가 너무 많아서 메모리 부족이 일어난 것이 아닌가 하는 생각도 들었습니다. 일단 해결책은 생각외로 간단한 것이기는 했는데, 그걸 찾아가는 과정이 만만치 않았습니다. 그래서 먼저 plt라고 matplotlib을 가지고 온 것을 제거하는 작업을 먼저 실행해 주고자 했습니다. 다만 이걸로 결과가 어떻게 될지는 모르는데.......... 그런데 막상 실행을 시켜 보고 나니까, 상황이 그렇게 좋지는 않은 것을 확인할 수 있었습니다. 일단 위 스크린샷에서 한번 제거했더니, 다시 import시켜줘야 할 필요성이 있어 보입니다. 그래서 기존에 있던 import항목.. 2020. 2. 3.
초기 테스터(initial tester)의 제작-46- 안녕하세요? 지난번 포스팅에서는 어떻게 헛다리를 짚는 바람에 이래저래 힘이 빠지는 현상이 벌어지기는 했는데, 그건 그것이고, 아무튼 간에 계속해서 어디서 누수가 일어나는 지에 대해서 한번 잡아 보도록 해야 했습니다. 그래서 이번 포스팅에서는 그런데로 성공적인 방법이 나왔고, 그렇게 해서 잡은 메모리가 새어 나가는 지점에 대해서 이야기를 해 보고자 합니다. 이 작업을 위해서는 파이썬에 원래 내장되어 있는 모듈인 tracemalloc이라는 라이브러리를 먼저 import해서 가지고 와야할 필요성이 있습니다. 그리고 나서 위 스크린샷에서 볼 수 있는 것처럼 일단 self가 붙은 변수를 하나 만들어서 놓도록 하고, 다음 작업에 들어가 보기로 합니다. 그리고 나서 for문이 시작하는 지점에서 take_snapsho.. 2020. 2. 2.
초기 테스터(initial tester)의 제작-45- 안녕하세요? 지난번 포스팅에서 어떻게 에러가 발생한 것을 보고하였는데, 문제는 이 에러가 메모리 부족이라고 해서, 단순하게 RAM을 더 구한다고 해서 해결이 될 문제가 아니라는 것입니다. 아무래도 어디선가 메모리 누수가 일어나고 있는 것은 확실한데, 문제는 이 에러를 잡기 위해서도 그렇고, 이래저래 헛다리를 짚게 되는 경우가 많았는데, 이번에 포스팅의 내용도 이런 헛다리를 짚은 것이 다소 포함되어 있습니다. 먼저 위 스크린샷을 보시면 알 수 있는 것처럼 일단 Reset()이라는 메서드를 따로 지정을 해서 원래는 시각화 모듈이 처음 불려 올 때만 나오던 것을 따로 메서드로 빼서 여러번 부를 수 있도록 만들어 줍니다. 그리고 나서 시각화 모듈을 본격적으로 작동시키기 전에 초기화를 시키는 메서드를 반드시 실행.. 2020. 2. 2.