tensorflow: interrupted by signal 9: SIGKILL

Table of Contents

完整错误信息:Process finished with exit code 137 (interrupted by signal 9: SIGKILL)
出现这个信息说明发生了内存不足的问题,如果是在tensorflow中,可以选择小的batch_size,或者不要把一整个大的文件一次性读到内存里。
如果是ubuntu系统,在命令行里输入

$nvidia-smi

  * 1

会显示GPU使用情况,从里面也可以看到还有多少内存可以用
这里写图片描述

一:如果是因为GPU内存不够,可以在代码里加入:

gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.5) 
config = tf.ConfigProto(allow_soft_placement=True, gpu_options=gpu_options)
tf.Session(condig=config)


  * 1
  * 2
  * 3
  * 4

其中 0.5表示使用50%的GPU内存资源,tensorflow比较贪心,每次都默认使用最大内存运行,所以内存不够时,可以自己做一个限制。

二:出现此问题的另外一个原因可能是你的cpu不够了,当运行的网络很大的时候,或者需要加载很大的权重,需要cpu来做,容易会导致这个错误,在命令行里输入

$top   

  * 1

(退出来是ctrl+z)

这里写图片描述

可以查看cpu的使用信息,如果发现有其他不想要的进程在占用cpu,可以查看到进程的PID号码,然后使用命令

$sudo kill 262**

  * 1

后面的数字是PID码

如果出现Process finished with exit code (interrupted by signal 6: SIGKILL)这个信息,可能是cuDNN版本和tensorflow版本不兼容的问题,详细看提示信息

如果是在运行一段时间后出现了这个问题,可能是发生了内存泄露的问题,解决方法可以参考我的另一篇博客http://blog.csdn.net/qq_25737169/article/details/78125550

0 评论

发表评论

精品游戏◆乐于分享


Title