用户工具

站点工具

本页面的其他翻译:
  • zh

adf:insufficientvirtualmemory

这是本文档旧的修订版!


故障:ADFJobs提示insufficient virtual memory

一般在使用很多核进行比较大的体系计算时,出现这个问题;计算小体系、低精度、低计算量、低并行核数的时候,不出现这个问题。

原因

体系越大,并行核数越大,精度越高,消耗掉虚拟内存越大。虚拟内存不足,如果是Windows系统,那么是C盘剩余空间不足造成的。如果是Linux,则是SWAP分区太小造成的。

解决方式

推荐方式

对WIndows而言,用户可以清理一下C盘空间。对Linux用户,SWAP区域一般无法改动,而且里面一般也没有存储文件。

不得已的方式

在Windows系统中,无法腾出更多C盘空间,并且仍然报错的话,或者Linux系统,这样报错,那么就只能牺牲计算效率,修改ADF对虚拟内存的消耗了:

ADF里面有一个环境变量,可以控制对虚拟内存的使用规模,当然虚拟内存使用越大,计算效率越高,但如果确实虚拟内存不够用了,那也没有办法,只能降低对虚拟内存的使用。

在adfrc.sh中增加一个环境变量:

export SCM_IOBUFFERSIZE=32

注意,这个变量实际上是有默认值64的。此时我们将其适当降低,直到能够正常计算即可。

adf/insufficientvirtualmemory.1520491677.txt.gz · 最后更改: 2018/03/08 14:47 由 liu.jun

© 2014-2022 费米科技(京ICP备14023855号