使用100%cpu的相对简单的Python脚本

2024-04-24 06:50:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我不会提供代码,因为太长了。python脚本涉及在while循环中执行大量的命令。

基本结构

while True:
    The meat goes here
    with the odd if:
        and stuff

现在我已经完成了,我注意到在运行它时,它使用100%的CPU,没有例外。我是个初学者,不知道该把这个问题归咎于什么。我想可能是因为脚本无限期地运行(直到我手动退出它),如果它每秒重复循环多次,可能只会使CPU负担过重。我增加了时间,睡眠(1)在时间的底部,看是否是没有改善的问题。

有人有什么想法吗?这是一个相当长的事件序列,但它们在很大程度上依赖于一个if语句,而该语句并不经常触发。100%的CPU使用率发生在特定的if语句被触发之前,所以我真的不知所措。

编辑:忘记包括它在unix环境中运行(Debian)


Tags: the代码命令脚本trueifherewith
3条回答

问题是为什么它应该而不是使用100%。这是你写任何东西的默认值。要使它不能100%地使用,您需要有特定的代码,这些代码会等待发生什么事情。如果你有,那么错误就在代码中。

100%的CPU意味着脚本运行良好。我看没什么问题。如果它阻止了其他程序的正常运行,请在较低优先级下运行脚本(nice)

除非有什么东西妨碍了CPU的使用(例如,等待磁盘IO或网络IO,或通过睡眠暂停执行),否则当程序运行时,CPU使用率将始终保持在100%左右。

如果你不想让它一直使用100%的CPU,如果它只是一遍又一遍地检查某个条件,那么你可能需要在循环中添加一个time.sleep(numberOfSeconds)。

相关问题 更多 >