我想知道在调用函数的过程中分配的最大RAM量是多少(在Python中)。还有其他与跟踪RAM使用相关的问题:
Which Python memory profiler is recommended?
How do I profile memory usage in Python?
但这些似乎允许您在调用heap()
方法(在guppy的情况下)时跟踪更多的内存使用情况。但是,我想跟踪的是外部库中的一个函数,我不能修改它,它会使用大量的RAM,但在函数执行完成后会释放它。有什么方法可以找出函数调用期间使用的RAM总量是多少?
这似乎在Windows下有效。不知道其他操作系统。
使用memory_profiler可以做到这一点。函数
memory_usage
返回一个值列表,这些值表示一段时间内的内存使用情况(默认情况下为.1秒)。如果你需要最大值,就取列表中的最大值。小例子:在我的情况下(memory_profiler 0.25),如果打印以下输出:
这个问题似乎很有趣,它给了我一个研究古比/希比的理由,为此我感谢你。
我试了大约两个小时让Heapy监视一个函数调用/进程,但没有用zeroluck修改它的源代码。
我确实找到了使用内置Python库^{} 完成任务的方法。注意,文档并没有指明
RU_MAXRSS
值返回的内容。另一个用户noted是以kB为单位的。运行Mac OSX 7.3并在下面的测试代码中观察我的系统资源爬升,我相信返回的值是字节而不是千字节。关于我如何使用
resource
库监视库调用的10000英尺视图是在一个单独的(可监视的)线程中启动该函数,并在主线程中跟踪该进程的系统资源。下面我有两个文件,你需要运行来测试它。库资源监视器-whatever_you_want.py
可停止线程-stoppable_thread.py
相关问题 更多 >
编程相关推荐