在Python子进程中测量CPU时间。

时间:2020-09-08 08:41:06

标签: python python-3.x

我正在使用openjdk version "14.0.2" 2020-07-14 OpenJDK Runtime Environment (build 14.0.2+12-46) OpenJDK 64-Bit Server VM (build 14.0.2+12-46, mixed mode, sharing) API运行可执行文件。

我还设置了超时,因为可执行文件在subprocess.Popen调用中可能挂起或花费太长时间。问题在于,在负载较重的服务器上,运行似乎经常超时。我认为这是因为当我并行运行多个进程时,它没有获得足够的CPU时间。

我可以增加超时时间,但是这是一个滑坡,因为计算机可能会变得越来越重(用作Jenkins服务器)。

communicate

是否有一种方法可以重构此方法,而不是测量为此分配给进程的CPU时间和超时?

我看到了一些提示process = subprocess.Popen(cmd, stdout=log, stderr=log, ...) process.communicate(timeout=timeout) 的问题。但是我不确定这对我有用。

0 个答案:

没有答案