如何增加 cpu 核心的数量及其在 python 中的使用

How to increase numbers of cpu cores and their usage in python

我编写了一个计算成本很高的 python 脚本。 运行在远程 linux 服务器(通过 putty)中调用代码后,需要一周的时间才能完成。

我们的远程服务器有 32 cpu 个内核和 64 GB 的 Ram 内存。我需要通过使用更多数量的 cpu 核心在更短的时间内 运行 我的脚本,但我不知道如何增加我的脚本使用更多数量的 cpu 核心。

我想知道是否有任何 python 代码可以添加到我的 python 脚本的第一部分或结尾部分,用于添加 cpu 核心数、内存使用和等能够在更短的时间内 运行 脚本。我还需要在得到我的脚本结果后 return 到默认状态。

在Python中有什么方法可以做到这一点吗?

重写您的脚本以并行执行操作。由于线程在 CPython 中不使用多个 CPU,因此您应该使用 https://docs.python.org/2/library/multiprocessing.html.

另请参阅:Does python support multiprocessor/multicore programming?

您可以查看多处理库 (https://docs.python.org/2/library/multiprocessing.html),但您必须管理数据以在进程之间共享。

您还可以查看线程库 (https://docs.python.org/2/library/threading.html),如果您有很多 I/O.

,它可能会很有效

最后你使用了 asyncio lib (python 3.4+ https://docs.python.org/3/library/asyncio.html),在我看来,它实现起来更复杂,但让你更有能力显式管理代码的行为。

编辑:这是一个大问题,您可能会找到很多关于此问题的文档。这实际上取决于您的代码真正做了什么,您最好提供一段代码。