2012-01-11 3 views
0

현재 IPython 0.10.2와 Python 2.7을 사용 중입니다. 내 클러스터에서 하나의 ipcontroller와 20 개의 ipengines를 시작합니다. 코드 구조는 매우 간단합니다. MultiEngineClient.execute() 메소드와 MultiEngineClient 사전 인터페이스 (예 : mec [ 'a'] = b) 만 사용합니다. 현재 응용 프로그램은 거의 2 일 동안 실행해야합니다. 그러나, 10 시간 실행 후, 나는 그 ipcontroller 3.1 GB의 메모리를 사용하고있는 것으로 나타났습니다. MultiEngineClient.clear_properties()를 사용합니다. 그러나 결코 어떤 기억든지 풀어 놓지 않는다. 누구든지 ipcontroller의 메모리를 해제하는 방법을 알고 있습니까?ipcontroller의 거대한 메모리 사용량

답변

0

아쉽게도 IPython 0.10의 컨트롤러에서 메모리를 효과적으로 해제 할 수 없지만 MultiEngineClient.clear_pending_results() 메서드가 도움이 될 수 있습니다.

0.11-0.12의 컨트롤러는 결과를 저장하기 위해 데이터베이스 (sqlite 또는 mongodb)를 사용할 수 있으며 부적절한 장기적인 성장없이 기가 바이트의 처리량으로 장시간 실행되는 것으로 나타났습니다.

+0

그래서 IPython 0.10.2의 경우 아무 것도 할 수 없습니다. – Xiao

+0

내가 언급 한 것처럼 clear_pending_results()를 시도 했습니까? clear_properties() 함수는 실제 요청/결과에 영향을 미치지 않으므로 도움이되지 않습니다. – minrk

+0

내 코드는 차단되지 않은 메서드를 사용하지 않습니다. 도움이되는지 확실하지 않습니다. 어쨌든, 나는 그것을 시도 할 것이다. 고맙습니다! – Xiao