首页 > 解决方案 > 虚拟机实例和我的个人计算机在并行代码上的内存使用/管理差异

问题描述

这个问题可能太宽泛了,所以我知道是否需要关闭它。

我是一个没有经验的云计算用户。我有一个优化代码,我在其中并行化了目标函数的某些部分。它在我的计算机上运行良好,但由于它很重,它很快使我的计算机几乎无法使用。我的电脑是具有 16GB RAM 的 Windows 10。代码永远不会崩溃,只会让我的电脑变得迟钝。我什至打开了 20 多个谷歌浏览器标签。

起初,我创建了一个具有 4 核和 16GB 内存的 Linux VM,设置了所有内容,然后运行了代码。它很快耗尽了内存,程序崩溃了。序列号没有这个问题。

然后我想也许 Linux 管理内存的方式不同(我什至涉足创建交换空间),所以我创建了一个同样具有 4 个内核和 16GB RAM 的 Windows 服务器。它还达到了 RAM 上限,程序崩溃。当我向 VM 添加更多 RAM 时,它能够继续运行。

我的问题是:为什么我的计算机具有相似的规格(并且不太“干净”)处理程序并管理 RAM,而 VM 不这样做?为什么这只发生在并行代码中?我应该在这些 VM 实例中配置什么吗?

虽然我知道这种含糊不清可能没有帮助,但我正在寻找一些一般指导方针或路径,我应该研究这些指导方针或路径,以了解为什么我的个人计算机和云 VM 之间的内存管理存在差异。

标签: memoryparallel-processingcloud

解决方案


推荐阅读