用python浪费cpu周期

时间:2016-12-09 11:37:30

标签: python linux cpu cpu-usage

我正在尝试创建一个简单的应用程序,浪费cpu周期进行多核研究。我创建的那个占用了100%的核心用量。我希望它大约30%60%70%,我应该做哪些调整才能实现这个目标?提前谢谢。

当前版本:

a=999999999
while True:
   a=a/2

1 个答案:

答案 0 :(得分:1)

从大量开始是不必要的,因为将数字除以2将很快一次又一次地以0/2快速结束。此外,您不必在循环中实际执行任何操作以消耗CPU周期 - 仅仅循环操作就足够了。这就是为什么任何无限循环,即使像while 1: pass这样简单的东西,也会占用整个CPU核心直到被杀死。为避免占用整个核心,请使用time.sleep暂停执行该线程一段时间。此函数采用单个参数表示线程休眠的时间(以秒为单位)。它接受一个浮点数。

import time
while 1:
    time.sleep(0.0001)

只需为您要测试的每个核心运行此脚本的实例(对于您希望加入特定系统的工作负载具有适当的休眠时间)。

请注意,某些操作系统可能不支持小于1毫秒的睡眠时间,导致睡眠时间缩短为零,这使得它们与此策略不兼容。有关详情,请参阅Python: high precision time.sleepHow accurate is python's time.sleep()?