我多次尝试加载一个名为m.pkl
(约81M)的大型pickle文件。每次加载后,内存使用量不断增加。但是如果在加载之前添加m = None
,内存使用就会变得正常。为什么?
#!/usr/bin/env python
import pickle
from memory_profiler import profile
m = None
def do():
global m
# m = None
with open('./m.pkl', 'rb') as f:
m = pickle.load(f)
@profile
def main():
do()
do()
do()
do()
do()
do()
do()
do()
do()
do()
do()
do()
do()
do()
do()
do()
do()
main()
Line # Mem usage Increment Line Contents
================================================
17 12.1 MiB 12.1 MiB @profile
18 def main():
19 406.7 MiB 394.6 MiB do()
20 615.4 MiB 208.7 MiB do()
21 615.5 MiB 0.1 MiB do()
22 683.0 MiB 67.5 MiB do()
23 676.4 MiB 0.0 MiB do()
24 678.4 MiB 1.9 MiB do()
25 694.5 MiB 16.1 MiB do()
26 694.8 MiB 0.3 MiB do()
27 694.8 MiB 0.0 MiB do()
28 696.0 MiB 1.3 MiB do()
29 697.4 MiB 1.4 MiB do()
30 698.0 MiB 0.5 MiB do()
31 695.7 MiB 0.0 MiB do()
32 696.1 MiB 0.4 MiB do()
33 699.0 MiB 2.8 MiB do()
34 698.4 MiB 0.0 MiB do()
35 706.4 MiB 8.0 MiB do()
目前没有回答
相关问题 更多 >
编程相关推荐