ThreadPoolExecutor为提交要在线程中执行的任务提供了一种方便的方法 。我们向执行程序提交两个任务——监视器和my_analysis_function(如果分析函数需要额外的参数 , 可以通过提交调用传入它们) 。对fn_thread.result()的调用将被阻塞 , 直到分析函数完成并获得其结果 , 此时我们可以通知监视器停止并获得最大内存 。try/finally模块确保了如果分析函数抛出异常 , 内存线程仍然会被终止 。
使用这种方法 , 我们可以有效地随时间对内存使用情况进行抽样 。大部分工作将在主分析线程中完成;但是每0.1秒 , 监视器线程就会被唤醒 , 进行一次内存测量 , 如果内存使用量增加就将其存储 , 然后返回睡眠状态 。
英文原文:
https://medium.com/survata-engineering-blog/monitoring-memory-usage-of-a-running-python-program-49f027e3d1ba
【如何监视Python程序的内存使用情况】
推荐阅读
- 如何对宝贝标题进行优化 淘宝产品标题怎么优化
- 如何增加店铺人气 怎么让网店有人气
- 如何养肝护肝 推荐4款温和治肝的药膳方
- 如何用淘宝联盟推广自己的淘宝产品 淘宝联盟怎么推广自己的店铺
- 如何理解上下架时间对宝贝排名的影响 淘宝平台中越接近下架时间的宝贝排名越靠后
- 提升店铺流量的方法 如何提高淘宝店铺的流量和权重
- 如何用直通车做精准人群 直通车的精选人群要不要开
- 淘宝运营多久能学会 淘宝天猫店是如何运营的
- 不锈钢表带如何清洗,两个方法轻松学会
- 一篇文章告诉你,多肉到底应该如何浇水