如何通过python程序减少CPU和内存的使用?

如何通过python程序减少CPU和内存的使用?,python,performance,cpu-usage,raspberry-pi,cpu-speed,Python,Performance,Cpu Usage,Raspberry Pi,Cpu Speed,我有一个python程序,它使用了我大量的CPU资源。虽然它在我的普通电脑上很好,但我担心它对我的Raspberry Pi来说可能太难处理了。速度不是问题。我不在乎我的代码是否执行缓慢,因为我正在实现一个实时系统,该系统每隔几个小时只执行一次代码,但我的CPU需要释放,因为我还需要同时运行其他进程。我是否可以以牺牲执行速度为代价减少从CPU占用的资源?任何帮助都将不胜感激,谢谢你虽然你肯定可以修改你的程序并使其更加优化,但事实是,所有程序通常都设计为占用尽可能多的CPU,以便在尽可能短的时间内完

我有一个python程序,它使用了我大量的CPU资源。虽然它在我的普通电脑上很好,但我担心它对我的Raspberry Pi来说可能太难处理了。速度不是问题。我不在乎我的代码是否执行缓慢,因为我正在实现一个实时系统,该系统每隔几个小时只执行一次代码,但我的CPU需要释放,因为我还需要同时运行其他进程。我是否可以以牺牲执行速度为代价减少从CPU占用的资源?任何帮助都将不胜感激,谢谢你

虽然你肯定可以修改你的程序并使其更加优化,但事实是,所有程序通常都设计为占用尽可能多的CPU,以便在尽可能短的时间内完成

我认为有两种方法可以实现你的目标:

  • Raspberry pi是Linux吗?所以,只需降低运行脚本的python解释器的进程优先级。这将确保其他程序可以在需要时使用CPU

  • 在脚本中,每隔几毫秒睡眠几毫秒。。难看,但可以做的把戏


  • 但选项一可能是一条路。

    虽然你肯定可以修改你的程序并使其更加优化,但事实是,所有的程序通常都设计为占用尽可能多的CPU,以便在尽可能短的时间内完成

    我认为有两种方法可以实现你的目标:

  • Raspberry pi是Linux吗?所以,只需降低运行脚本的python解释器的进程优先级。这将确保其他程序可以在需要时使用CPU

  • 在脚本中,每隔几毫秒睡眠几毫秒。。难看,但可以做的把戏


  • 但选项一可能是一条出路。

    我们需要查看代码以提供帮助。你没有提到这个程序的功能。在没有看到代码的情况下,我唯一能建议的是确保循环和线程在等待信息处理时使用足够的阻塞/休眠。了解您正在做什么以及如何做会非常有帮助。一般来说,加速Python的策略是使用评测分离代码中CPU最密集的部分,然后使用C或Cython重写它们。有没有办法限制整个程序的CPU使用量?我在我的Raspberry Pi中使用Debian,在linux或python本身中有没有办法做到这一点?我不希望加速程序,我希望以降低程序速度为代价来减少分配给python本身的资源。速度对我来说不是问题。我只是不想让它冻结,我们需要看到代码来提供帮助。你没有提到这个程序的功能。在没有看到代码的情况下,我唯一能建议的是确保循环和线程在等待信息处理时使用足够的阻塞/休眠。了解您正在做什么以及如何做会非常有帮助。一般来说,加速Python的策略是使用评测分离代码中CPU最密集的部分,然后使用C或Cython重写它们。有没有办法限制整个程序的CPU使用量?我在我的Raspberry Pi中使用Debian,在linux或python本身中有没有办法做到这一点?我不希望加速程序,我希望以降低程序速度为代价来减少分配给python本身的资源。速度对我来说不是问题。我只是不想让它冻结,非常感谢,我不敢相信我没有想到选择一。我可能会尝试结合睡眠。很appreciated@user17151我建议您首先尝试降低优先级,因为睡眠过多的代码会非常难看;)ps:根据您的实现可能很难调试是的,我会的,谢谢。我会把它作为使用睡眠的最后手段。非常感谢,我不敢相信我没有想到选择一。我可能会尝试结合睡眠。很appreciated@user17151我建议您首先尝试降低优先级,因为睡眠过多的代码会非常难看;)ps:根据您的实现可能很难调试是的,我会的,谢谢。我会把它作为使用睡眠的最后手段。