调试我的内核上的大计数程序,我面临着非常奇怪的错误insufficient virtual memory
。 我的调查导致的代码,其中主设备发送小消息到每个从和平。 然后我写了个小程序,其中1个主只需发送10个整数与MPI_SEND
和所有的奴隶与接收它MPI_RECV
。 的文件比较/proc/self/status
之前和之后MPI_SEND
显示,存储容量之间的差异是巨大的! 最有趣的事情(这我崩溃程序),是这个内存不会取消分配后MPI_Send
,仍然需要巨大的空间。
有任何想法吗?
System memory usage before MPI_Send, rank: 0
Name: test_send_size
State: R (running)
Pid: 7825
Groups: 2840
VmPeak: 251400 kB
VmSize: 186628 kB
VmLck: 72 kB
VmHWM: 4068 kB
VmRSS: 4068 kB
VmData: 71076 kB
VmStk: 92 kB
VmExe: 604 kB
VmLib: 6588 kB
VmPTE: 148 kB
VmSwap: 0 kB
Threads: 3
System memory usage after MPI_Send, rank 0
Name: test_send_size
State: R (running)
Pid: 7825
Groups: 2840
VmPeak: 456880 kB
VmSize: 456872 kB
VmLck: 257884 kB
VmHWM: 274612 kB
VmRSS: 274612 kB
VmData: 341320 kB
VmStk: 92 kB
VmExe: 604 kB
VmLib: 6588 kB
VmPTE: 676 kB
VmSwap: 0 kB
Threads: 3