python - 是 tcmalloc: large alloc Python 中的警告或错误
问题描述
我发现有时我得到了这个错误,但我看到 python 程序仍在运行(没有被终止),想知道这只是一个警告还是一个错误?我搜索了类似的讨论,但没有找到明确的答案。
tcmalloc: large alloc (bytes, result) = 1073750016 0x7f8a3fc00000 @ 0x55aefbc75b29 0x55aefbc74bbb 0x55aefc178c65 0x7f8bf019d86d 0x7f8bf019f908 0x7f8bf019cac8 0x 0x 0x 0x
解决方案
根据https://www.novell.com/support/kb/doc.php?id=7012805
“这条消息本身并不是真正的错误,它更多地只是提供信息。
有一个环境变量 TCMALLOC_LARGE_ALLOC_REPORT_THRESHOLD,默认设置为 1073741824 字节。~1GB 因此,如果分配的内存为 == 或超过 1GB,则此消息将显示在 ndsd.log 中。
如果服务器中有大量内存,例如大于 8G - 32GB 和/或相当大的 eDirectory 数据库,您可能更容易看到此消息。您可以将阈值修改为大于您在 ndsd.log 中看到的典型分配。”
鉴于我不知道您正在使用的环境,我不确定这是否特别正确,我想说这个解释可以概括为正在运行的应用程序已分配 1GB 内存的警告。
更多信息: https ://github.com/gperftools/gperftools/issues/360
编辑:根据 OPS 评论,在分配 1gb 和 21gb 时似乎产生了相同的错误,因此可以安全地假设存在使用所有可用内存的编程错误,我会回去查看代码。
推荐阅读
- javascript - 从深度数组中获取奇异值(嵌套 ig?)
- json - Scala & json4s - 使用以数字字符开头的字段解析 JSON
- javascript - Console.log() 在函数调用后立即返回函数本身
- python - Python pyserial readline 有时日期不正确
- java - 全局变量在android studio中返回null
- mysql - 具有产品计数和父类别的 SQL 产品类别
- geometry - (Godot Engine) 使用 Geometry 的 merge_polygons_2d() 方法合并两个以上的多边形
- python - PyGame:pygame.key.get_pressed 不起作用
- amazon-web-services - 如何使用 AWS CLI 在我的账户中查找大小 >=200GIB 的 AWS EBS 卷列表?
- sql - 使用子查询作为谓词时如何获得准确的行估计