首页 > 代码库 > python 内存分析
python 内存分析
1、改源码重新编译打印相关信息
obmalloc.c 文件中打印 maxarenas,值为当前环境分配 arena 个数;分配 arena 时并没有马上分配对应的pools,故对于每一个 arena,nfreepools 和 ntotalpools 为分配pool的可用pool数和总pool数。
int arena_len = 0; int _nfreepools =0 ; int _ntotalpools = 0; int i; for(i =0; i<maxarenas;++i){ if(arenas[i].address == 0) continue; arena_len++; _nfreepools += arenas[i].nfreepools ; _ntotalpools += arenas[i].ntotalpools ; }
主要是这些信息:maxarenas 表示已分配arena个数,_ntotalpools 表示已分配pool个数(内存池容量为 _ntotalpools *4KB,每个pool为4KB)。
2、guppy
需要安装,
hp = guppy.hpy()
hp.heap()
可查看当前python环境变量使用内存情况(包括内存池和非内存池的)。
详细用法还有很多,可参考:
http://smira.ru/wp-content/uploads/2011/08/heapy.html
3、psutil
获取系统运行的进程和系统利用率(包括CPU、内存、磁盘、网络等)信息。
详细可参考:
http://www.cnblogs.com/liu-yao/p/5678157.html
python 内存分析
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。