1

我每天都使用 AI Platform Python3 Jupyter 笔记本,我注意到不同 VM 类型在内存错误情况下的行为不一致。

假设我正在尝试使用比可用内存更多的内存,而在“标准”VM 类型上,我会得到一个“内存错误”堆栈跟踪作为单元输出,在新的“高效实例”类型 VM 上,内核将自动重启而无需任何通知(即使单元格将保持标记为仍在执行);弄清楚发生了什么的唯一方法是查看htop核心/内存使用情况。

我花了一些时间才意识到发生了什么,我相信在这种情况下输出错误应该是理想的响应(与“有效实例”情况不同)。

这是一个示例来澄清我所描述的内容:

虚拟机一般配置:

  • 环境:英特尔® 优化基础(采用英特尔® MKL)
  • 其他配置:默认

要执行的 Python3 Notebook 单元代码:

import numpy as np
np.random.rand(1000000000,10)

虚拟机类型/输出:

  1. e2-highmem-2(2 个 vCPU,16 GB 内存)--> 内核重启无通知/日志记录(下面的 IMG1)。
  2. n1-highmem-2 (2 vCPUs, 13 GB memory) --> MemoryError traceback as cell output (IMG2 below)。
  3. n2d-highmem-2 (2 vCPUs, 16 GB memory) --> MemoryError traceback as cell output (IMG2 below)。

IMG1(虽然内核已经重新启动,但没有通知)
在此处输入图像描述

IMG2(内存错误回溯单元输出)
在此处输入图像描述

4

0 回答 0