내 패키지에서 실행중인 일부 코드가 있으며 프로그램이 있어야하는 것보다 많은 메모리 (60GB)를 사용하고 있습니다. 이 메모리가 사용되는 위치를 찾기 위해 현재 네임 스페이스에서 모든 개체의 크기 (바이트)를 어떻게 인쇄 할 수 있습니까? 파이썬 : 현재 네임 스페이스에있는 모든 객체의 크기를 얻는 방법은 무엇입니까?
나는from pympler import asizeof
for objname in dir():
print(asizeof.asizeof(thing)/1024) # print size in kb
뭔가를 시도하지만 그냥 네임 스페이스에있는 개체의 이름이 포함 된 문자열의 크기를 출력으로 작동하지 않습니다. 이 방법을 사용하기 위해 네임 스페이스의 모든 것에 대한 객체 참조를 얻는 방법이 있습니까? 아니면 메모리를 사용하고있는 것의 해결을위한 더 나은 방법이 있습니까?
예,'dir()'은 단지 이름 *을 문자열로 생성합니다. 'globals()'와'locals()'를 사용하여 네임 스페이스를 사전으로 가져 오면, 이름이 아닌 객체 자체에 액세스 할 수 있습니다. –