我使用xarray读取和修改用于我的分析的数据集。
这就是数据回复:
要绘制数据,我必须将其转换为numpy数组:
Z_diff.values()
这样做时,我会得到错误消息:
slurmstepd: error: Detected 1 oom-kill event(s) in step 33179783.batch cgroup. Some of your processes may have been killed by the cgroup out-of-memory handler.
我使用以下设置:
#SBATCH --ntasks-per-node=16
#SBATCH --nodes=4
#SBATCH --mem=250G
发布于 2022-02-02 23:07:46
看起来你的记忆快没了。当使用dask (链接)时,数据会被分割成块(在您的例子中是183个)。因此,数据集中只有一小部分同时保存在内存中。Numpy数组不能以这种方式工作,所以当您使用.values()时,整个数据集将被读取到内存中,并且超出了内存。
根据您想要绘制的内容,您可能可以单独绘制每个块,或者在同一地块上一次绘制来自每个块的数据。或者,只需绘制一个数据子集,以避免将所有数据同时读取到内存中。最后,如果可用,您也可能请求更多的内存,直到您不再得到此错误。
https://stackoverflow.com/questions/70955991
复制相似问题