刚开始跑caffe试验,老是遇见各种错误。今天又遇见:
<span style="font-size:18px;color:#ff0000;">I1214 09:32:19.428040 11425 net.cpp:748] Ignoring source layer loss
F1214 09:32:19.515925 11425 syncedmem.cpp:64] Check failed: error == cudaSuccess (2 vs. 0) out of memory
*** Check failure stack trace: ***
@ 0x7fc5fe034b5d google::LogMessage::Fail()
@ 0x7fc5fe038b77 google::LogMessage::SendToLog()
@ 0x7fc5fe0369f9 google::LogMessage::Flush()
@ 0x7fc5fe036cfd google::LogMessageFatal::~LogMessageFatal()
@ 0x7fc603ee8f12 caffe::SyncedMemory::to_gpu()
@ 0x7fc603ee86c9 caffe::SyncedMemory::gpu_data()
@ 0x7fc603e9e14d caffe::Blob<>::gpu_data()
@ 0x7fc603fb7385 caffe::InnerProductLayer<>::Forward_gpu()
@ 0x7fc603e77382 caffe::Net<>::ForwardFromTo()
@ 0x7fc603e775bf caffe::Net<>::ForwardPrefilled()
@ 0x7fc603e70b22 caffe::Solver<>::Test()
@ 0x7fc603e716ad caffe::Solver<>::TestAll()
@ 0x7fc603e7181c caffe::Solver<>::Step()
@ 0x7fc603e72540 caffe::Solver<>::Solve()
@ 0x40a366 train()
@ 0x40746e main
@ 0x3cbb41ed1d (unknown)
@ 0x406a39 (unknown)</span>
这明显是内存不够,但是我们服务器足够大,有20G的内存,用top命令查看内存的使用情况,空间也很大,开始我以为我的数据太大了,可是还不到2G:
I1214 10:00:57.934880 11810 net.cpp:165] Memory required for data: 1137538000.
最后问师兄,大概是使用查看的内存命令不对,他们使用的是:
nvidia-smi
发现有top命令无法查看到的进程,将这些进程杀死掉,释放内存:
杀死进程命令:kill -9 PID
最后重新运行试验,就可以开始跑了,最后我终于知道为什么了:
top是监视CPU的,而 nvidia-smi才是监视GPU的。