`mpirun -n 2 ./ax`,两个进程都被epoll_wait卡住了,为什么?

`mpirun -n 2 ./ax`,两个进程都被epoll_wait卡住了,为什么?

我用 运行了一个 mpi 程序mpirun -n 2 ./a.x。但是,这两个进程都卡住了。而且总是卡住,很少(实际上只有一次)通过。

strace我找到了和的后续信息lsof,我知道这两个进程正在等待读取或写入(?)同一个文件,但尚未准备好。那么,如何查找该文件是什么以及为什么它总是无法访问?

如果您有什么想法或需要什么,请告诉我,谢谢!

//use `strace -p  31352`  
epoll_wait(18, [], 100, 0)              = 0
epoll_wait(18, [], 100, 0)              = 0
epoll_wait(18, [], 100, 0)              = 0
<...endless>
//use `strace -p 31351` 
epoll_wait(19, [], 100, 0)              = 0
epoll_wait(19, [], 100, 0)              = 0
epoll_wait(19, [], 100, 0)              = 0
<...endless>

//use `lsof -p 31352`
pfci.x  31352 jslo   18u  a_inode               0,13         0     11815 [eventpoll]
//use `lsof -p 31351`
pfci.x  31351 jslo   19u  a_inode               0,13         0     11815 [eventpoll]

相关内容