问题描述
我是云计算的新手。我在Google云计算中制作了一个虚拟机,机器类型:
e2-highcpu-2 (2 vcpu's,2 GB geheugen)
我通过运行命令来运行脚本
python3 simulation1.py
当我查看输出控制屏幕时,我注意到仅使用了50%的cpu电源。所以我只使用2个cpu之一。有没有办法充分利用计算能力?
解决方法
看起来您的问题可以恢复为“ Python是否可以在多个内核上运行?”
您可以在此post中找到完美解释的问题答案。
基本上:
Python线程无法利用许多内核。这是由于python的C实现中称为GIL(全局解释器锁)的内部实现细节。
您可以使用multiprocessing,celery或mpi4py之类的东西将并行工作拆分为另一个进程;
或者您可以使用Jython或IronPython之类的东西来使用没有GIL的替代解释器。
如果您已经在使用上述任何工具。您还可以添加有关代码的更多详细信息。