【问题标题】:Monitoring subprocess resources over time in python在python中随着时间的推移监控子进程资源
【发布时间】:2018-07-31 13:01:53
【问题描述】:

我目前正试图随着时间的推移监控我的子进程的内存使用情况以生成绘图。

这段代码似乎可以解决问题,但我真的不喜欢我制作的“超时”循环,因为您可以看到这是一个基本的while true 循环。

from subprocess import Popen
import psutil

process = Popen(["python", "dummy_script.py"])
ps = psutil.Process(process.pid)

while process.poll() is None:
    print(ps.memory_percent())

我想调整此代码,以便能够以固定的时间间隔(例如 1 秒)检查我的子进程的内存使用情况。

这是我第一次同时使用 subprocesspsutil,所以我在理解如何正确操作时遇到了一些麻烦。

注意:这里是 dummy_script.py,没什么意思

import numpy
import time

result = []
for i in range(10240):
    result.append(numpy.random.bytes(1024*1024))
print(len(result))

【问题讨论】:

    标签: python python-3.x subprocess psutil


    【解决方案1】:

    在你的 while 循环中让程序休眠 1 秒

    import time
    
    while process.poll() is None:
        print(ps.memory_percent())
        time.sleep(1)
    

    【讨论】:

    • 嗯,这比我预期的要容易 :) 谢谢!
    猜你喜欢
    • 2011-03-07
    • 1970-01-01
    • 1970-01-01
    • 2020-10-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-08
    • 1970-01-01
    • 2013-08-10
    相关资源
    最近更新 更多