피라미드 앱이보기간에 메모리를 해제하지 않습니다
-
11-12-2019 - |
문제
나는 흥미로운 방식으로 오해하는 피라미드 뷰를 가지고 있습니다. 뷰가 수행하는 것은 파일에서 꽤 복잡한 개체 계층 구조를 가져 오는 것입니다 (피클 사용). 작은 처리를 수행 한 다음 HTML 양식을 렌더링합니다. 멋지고 간단합니다.
설정 :
Ubuntu 12.04 64 비트, Python3.2, 피라미드 1.3.3, SQLAlchemy 0.7.8 및 표준 웨이트리스 서버를 사용하고 있습니다.
증상
몇 가지 효율성 문제가 있으므로 시스템 모니터를 사용하여 피라미드가 가공을하고있는 동안 피라미드가 처리하고 램프 사용이 꾸준히 장미를 묘사 한 것으로 나타났습니다. HTML 양식이 내 브라우저에 표시됨에 따라 RAM 사용량이 수평을 이루지 만 가을 수 없었습니다. 뷰를 다시로드하면 RAM 사용이 중단 된 곳에서 꾸준히 증가하게되었습니다. 이 모든 것을 계속하면 모든 RAM이 사용되고 모든 것이 멈추게됩니다.
서버를 죽이면 RAM 사용량이 즉시 다시 떨어집니다.
질문
무슨 일이 일어나고 있는거야? 보기 렌더링 사이에 메모리가 해제되지 않지만 이런 일이 왜 일어나는 이유는 분명합니다. 그리고 어떻게 내가 멈추게 할 수 있니? 나는 조사에서 돌아 오기 전에 델을 물건을 호출하고 아무것도 바뀌지 않았습니다.
해결책
피라미드의 디버그 도구 모음은 물체를 살아있게 유지합니다.IT를 비활성화하려면 대부분의 메모리 누수 문제가 해결됩니다.피라미드에서 오류를 찾는 것이 나의 검색의 원인이었습니다.