Python中文
首页
教程
问答
标签
搜索
登录
注册
测量加载大型obj后堆大小的增加
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我感兴趣的是,当加载一个大对象时,python堆的总大小会增加多少。健康似乎是我需要的,但我不明白结果。在</p> <p>我有一个350MB的pickle文件,其中包含一个pandas<code>DataFrame</code>,其中包含大约250万个条目。当我加载文件并随后用heapy检查堆时,它报告只有大约8MB的对象被添加到堆中。在</p> <pre><code>import guppy h = guppy.hpy() h.setrelheap() df = pickle.load(open('test-df.pickle')) h.heap() </code></pre> <p>这将产生以下输出:</p> ^{pr2}$ <p>让我困惑的是<code>Total size</code>的<code>8694448 bytes</code>。只有8MB。在</p> <p>为什么<code>Total size</code>不能反映整个<code>DataFrame</code><code>df</code>的大小?在</p> <p>(使用python2.7.3,heapy0.1.10,Linux 3.2.0-48-generic-pae(Ubuntu),i686)</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>当我试图找出为什么我的500mbcsv文件占用了5gb的内存时,我也遇到了类似的问题。熊猫基本上构建在Numpy之上,因此使用C malloc来分配空间。这就是为什么它没有出现在heapy中,heapy只描述纯Python对象。一个解决方案可能是研究valgrind来追踪你的内存泄漏。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何在乒乓球比赛中预测球的轨迹,对于AI球拍预测?
9 回答
如何在乒乓球游戏中阻止球
1 回答
如何在乘法和模中不乘空间?
6 回答
如何在乘法和除以2个不同的数字之间进行交换?
5 回答
如何在也是数据一部分的单个字符上拆分大字符串
4 回答
如何在乾草堆中找到針,有更好的解決方案嗎?
8 回答
如何在事件wxWidgets中传递自定义数据
7 回答
如何在事件中使用lambda i=i?
3 回答
如何在事件中心只接收最近的数据
9 回答
如何在事件发生之前保持云函数运行?
9 回答
如何在事件发生后使页面重定向到同一页面
4 回答
如何在事件回调之间保持python生成器的状态
10 回答
如何在事件处理程序(pythonsocket、sphinx)中保留docstring
4 回答
如何在事件处理程序中更改wxRichTextCtrl的光标位置?
4 回答
如何在事件处理程序中访问外部对象?
7 回答
如何在事件循环中将协程打包为正常函数?
7 回答
如何在事件循环之外运行协同程序?
2 回答
如何在事件循环结束时为并发未来的所有线程调用类方法?
7 回答
如何在事件文件中只保留一份摘要?
2 回答
如何在事件模板中添加事件
6 回答