垃圾收集python rss内存

时间:2014-09-17 20:47:45

标签: python memory memory-leaks rss

我正在分析我的Python程序,我想知道它使用了多少内存,如果有任何方法我可以清除它,我注意到它使用了很多rss内存,我进行分析的方式是这样的:

p = psutil.Process(os.getpid())
print p.get_memory_info()

我注意到在调用一些函数后,使用的rss内存会急剧增加,我想在完成之后删除变量。我怎么能这样做rss内存清除?但如果我这样做:

p = psutil.Process(os.getpid())
print p.get_memory_info()
ll = []
ll.append(ll)
print p.get_memory_info()

rss中没有分配内存。

在RSS中究竟放入了什么?我能以任何方式清除它吗?这样做是否安全?

1 个答案:

答案 0 :(得分:1)

根据psutil docsrss根据您的操作系统引用不同的值:

  

返回表示RSS(驻留集大小)和VMS(虚拟)的元组   内存大小)以字节为单位。在UNIX上,rss和vms显示的值相同   通过ps。在Windows rss和vms上,请参阅“内存使用情况”和“虚拟机大小”   taskmgr.exe的列。

假设您使用的是Linux,RSS(来自What you can find out about the memory usage of your Linux programs):

  

进程的RSS就是其虚拟中有多少页表条目   内存区域指向真正的RAM(...)您的进程的RSS增加   每当它看到一块新的记忆(从而建立起来   它的页表条目。)

您可以使用Python解释器来运行garbage collection

查看this SO post answers和此FAQ entry了解详情。