我正在分析我的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中究竟放入了什么?我能以任何方式清除它吗?这样做是否安全?
答案 0 :(得分:1)
根据psutil docs,rss
根据您的操作系统引用不同的值:
返回表示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了解详情。