后处理内存消耗过大
-
我需要提取一些监测点处的结果,但发现点过多的时候(上几百个)或者网格量很大的时候(普通工况是百万级别,但有时候会到几千万),postProcess在运行一段时间后报了个signal9,发现是内存耗光了。
有大佬碰到这种情况么,怎么解决呀?
-
@cccrrryyy 大佬机器多少内存
-
@李东岳 不敢当不敢当。机器内存已经很大了,512,跑后处理耗掉了400多,然后节点上还有其他作业在跑,于是爆掉了。
我是没想到跑个后处理能耗这么多内存的,震惊了。
-
可以试试扩大swap分区。
如果装系统的时候没有用LVM,后面想改分区大小就比较麻烦了。可以把 swap 当成虚拟内存,可以用
free -h
查看
-
我勒个去,也没想到后处理能搞400G。跑CFD也跑不掉400G啊崩溃。怎么听起来像是内存没释放的bug了
-
我对大型计算缺乏想象力
要是往气象、核爆那边想,好像占多少内存都理直气壮要是普通的,那可能泄漏,或者后“处理方法”本身比较吃内存
-
@李东岳 CFD我理解应该确实不怎么消耗内存的。我这个是流场中有几百个点位需要提取流线,命令就是正常的mpirun -np xxx postProcess -fields xxx -parallel这样,应该不会涉及到内存没释放的问题吧?
-
@bestucan 风场计算,没到气象那个级别,网格量在千万上下,多的能到五千万的样子。我研究下您说的swap这个思路。