如何在Python3.x中获取总堆大小、已用堆大小及malloc分配的内存?
在Python中获取堆内存与malloc统计信息
Node.js中的参考实现
在Node.js中,可通过V8和process库直接获取堆内存与malloc统计信息,示例代码如下:
const heapStats = v8.getHeapStatistics(); const heapInfo = process.memoryUsage(); console.log('Heap Total:', heapStats.heapTotal); console.log('Heap Used:', heapStats.heapUsed); console.log('Malloced Memory:', heapInfo.mallocedMemory);
问题
由于Python与Node.js均基于C/C++底层,请问能否在Python当前进程中获取上述堆内存总大小、已用堆内存、malloc分配内存这类内存指标?
目前尝试了两种工具,但都存在局限:
- 使用
psutil库的memory_info()方法,可获取常驻集大小(rss)、虚拟内存大小(vms)等系统级内存信息,但没有提供堆内存与malloc相关的专属属性; - 使用
tracemalloc模块追踪内存使用,但暂不清楚如何通过它计算出堆内存与malloc的统计数据。
内容的提问来源于stack exchange,提问作者Shariar Kabir
相关产品推荐
相关产品推荐

