如何检查 iPython 中对象的内存使用情况?

2023-12-29

我正在使用 iPython 来运行我的代码。我想知道是否有任何模块或命令可以让我检查对象的内存使用情况。例如:

In [1]: a = range(10000)
In [2]: %memusage a
Out[2]: 1MB

就像是%memusage <object>并返回该对象使用的内存。

复制

找出Python中的对象使用了多少内存 https://stackoverflow.com/questions/33978/find-out-how-much-memory-is-being-used-by-an-object-in-python


不幸的是,这是不可能的,但有多种方法可以近似答案:

  1. 对于非常简单的对象(例如整数、字符串、浮点数、双精度数),这些对象或多或少表示为简单的 C 语言类型,您可以简单地计算字节数,如下所示约翰·穆德的解决方案 https://stackoverflow.com/a/563921/1922357.

  2. 对于更复杂的对象,一个好的近似方法是使用 cPickle.dumps 将对象序列化为字符串。字符串的长度可以很好地近似存储对象所需的内存量。

解决方案 2 有一个大问题,即对象通常包含对其他对象的引用。例如,字典包含字符串键和其他对象作为值。那些其他对象可能是共享的。由于pickle总是尝试对对象进行完整的序列化,因此它总是会高估存储对象所需的内存量。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何检查 iPython 中对象的内存使用情况? 的相关文章

随机推荐

  • JavaFX LineChart 不画圆?

    该图表显示了问题 我有 JavaFX 程序来计算数据并绘制图表 但为什么点没有正确连接 我尝试了很多事情 甚至创建了两个单独的系列 但它不起作用 public void createScatterChart final NumberAxis
  • vk.com 中使用 zend_oauth 进行身份验证时出现问题

    vk com 中使用 zend oauth 进行身份验证时出现问题 信息 HTTP 请求中出现错误 无法在 TCP 连接 oauth vk com 上启用加密 确保为环境正确设置了 sslcafile 或 sslcapath 选项 请帮帮我
  • 关于跨平台项目中网络语言互操作性的问题[已关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我计划使用 AngularJS 在 iOS Android 上创建一个应用程序和一个网站 但为了不必在每个应用程序上重写业务代码 我希望重用尽可
  • 检查日期范围(开始日期和结束日期)是否重叠

    function checkDateOverlap ranges res ranges 0 countRanges count ranges for i 0 i lt countRanges i r1s res start r1e res
  • 谷歌计算引擎工具 gcloud 非常慢

    我尝试下载并使用 gcloud bash 工具来管理我的帐户 但是我使用该工具执行的所有操作都非常慢 回复键入的命令需要几分钟的时间 我是否需要在路由器上打开防火墙或其他东西才能使其像预期的那样快速工作 例如 该视频中的 正在安装 行htt
  • React 测试 Fake XMLHttpRequest

    我正在为某人的应用程序编写一些测试代码 我是专门为 React 编写测试的新手 在组件内部的一个方法中 一个新的XMLHttpRequest对象被实例化 然后像这样使用 var myModal React createClass postR
  • UITextView 上的 beginResponder 不起作用

    由于某种原因 我无法将文本字段设置为第一响应者 我有一个包含两行的 UITableView 每行都有一个标签和一个 UITextField 文本字段标记为 kLoginRowIndex 0 和 kPasswordRowIndex 1 您可能
  • MySQL查看性能

    我有一个大约有 100 000 个用户的表 第一个案例 explain select state count as cnt from users where state ca 当我为上述查询执行解释计划时 我得到的成本为 5200 第二种情
  • 如何在不激活摄像头的情况下确定 Windows 10 上是否正在使用网络摄像头?

    在 Windows 10 上 如何确定连接的网络摄像头当前是否处于活动状态 而无需在摄像头关闭时将其打开 目前 我可以尝试使用相机拍照 如果失败 则假设相机正在使用中 但是 这意味着摄像头的活动 LED 将打开 因为摄像头正在使用 由于我想
  • 表单未提交隐藏输入

    代码中有隐藏的输入 默认情况下必须为 TRY 并且可以使用下拉框进行更改 代码 HTML div class form group div
  • 有没有办法从 Angular 的缓存中获取所有键,特别是模板缓存?

    有没有办法从 Angular 的缓存中获取所有键 特别是模板缓存 我在文档中没有看到任何有关如何执行此操作的信息 cacheFactory http docs angularjs org dev appspot com api ng 24c
  • ASP.NET MVC - 混合自定义和默认模型绑定

    我有一个类型 public class IssueForm Order Order get set Item Item get set Range Range get set 由于订单和项目的要求 我创建了一个自定义模型绑定器 但范围仍然可
  • mysql唯一索引在java中用作异常处理方法

    我想知道在java中根据sql的唯一索引捕获异常是否是一个好主意 我想捕获像 1 0 的重复条目 这样的异常 如果是这样 则处理异常 否则正确插入数据库表中 我说你不要这样做 有两个原因 错误消息有点不清楚 错误 1062 23000 密钥
  • 如何使用 .NET API 生成 AWS S3 上传的请求签名?

    我直接使用来自 Amazon 的 NET API 将一些文件上传到 S3 但是 我收到异常消息 The request signature we calculated does not match the signature you pro
  • 带继承的 C++ 模板部分特化

    我需要部分专业化struct 但我还想使用一些常用功能 例如 假设我有下一个类型 template
  • 将 .data 属性中的元素设置为零 scipy.sparse 中令人不快的行为

    当我设置值时 我的行为令人不快 data of csr matrix为零 这是一个例子 from scipy import sparse a sparse csr matrix 0 0 2 0 1 1 0 0 0 3 0 0 Output
  • 如何获取android的native方法源码

    是否可以获取并观看Android程序组件的本机方法代码 如果有人知道如何做 请告诉我 您可以使用 查找 Android 本机方法的源代码 以下服务之一 AndroidXRef http androidxref com GitHub http
  • Python 列表值被覆盖,为什么?

    我有一个收件人查询包含两个收件人ID 1 和 2 我循环遍历每一个来构建 json 输出 data this tem for item in recipients this tem recipient id item pk data app
  • 用于验证的数据注释,至少有一个必填字段?

    如果我有一个包含字段列表的搜索对象 我可以使用 System ComponentModel DataAnnotations 命名空间将其设置为验证搜索中至少有一个字段不为 null 或空吗 即所有字段都是可选的 但至少应输入一个字段 我扩展
  • 如何检查 iPython 中对象的内存使用情况?

    我正在使用 iPython 来运行我的代码 我想知道是否有任何模块或命令可以让我检查对象的内存使用情况 例如 In 1 a range 10000 In 2 memusage a Out 2 1MB 就像是 memusage 并返回该对象使