0

我的代码有两个作业,第一个消耗 CPU 0.3%,第二个消耗 CPU 80%。这两个工作是这样重复工作的:

while True:
  job1()
  job2()

我发现在第一个循环之后,即使它在 job1() 中工作,CPU 消耗也没有下降,消耗总是 80%。

所以我像这样修改了代码:

n = 0
while True:
  n += 1
  if n > 1:
    print 'to sleep'
    time.sleep(100000000)
    continue
  job1()
  job2()

我发现它在sleep(). 为什么会这样?

4

1 回答 1

0

sleep()函数暂停进程的执行,这意味着进程调度程序可以调度其他作业在 CPU 上执行。这可以解释高使用率,尤其是在后台运行其他占用大量 CPU 的任务时。

了解如何测量 CPU 使用率会很有帮助。

于 2015-01-07T02:51:10.067 回答