RuntimeError: DataLoader worker (pid 4499) is killed by signal: Segmentation fault.检查内存条!

报错

首先放上报错图:

在这里插入图片描述
在这里插入图片描述
根据报错内容,上网查阅资料, Pytorch dataloader 错误 “DataLoader worker (pid xxx) is killed by signal” 解决方法
按照教程里,把num_workers 设置为0确实可以不报错问题,但是显卡的利用率会降低一半。

解决

回顾下之前,我的代码是可以正常跑的,没有运行错误。最近一段时间有两个操作:

  1. 加了1T的京东京造固态硬盘
  2. 加了32GB的联想台式机内存条。颗粒未知
    便通过对比实验,一步步找出问题在哪。
  • 加了1T的京东京造固态硬盘

(旧的三星固态和刚买的京东固态都有一个内容完全一样的分区。)
我把之前的三星固态分区挂载到home上,重新跑程序。刚开始还好,结果过了一段时间,还是报错。不是硬盘的问题。

  • 把新买的内存条摘了,重新跑程序。
    正常! 说明问题出来了新买的内存条上。 我之前的是英睿达2666 16+16+8+8,插上新买的联想32GB 3200内存条(颗粒未知),虽然能点亮,但跑程序的时候会报上图中的奇怪bug. 不过从报错信息来看,也确实跟内存有关。

总结

加内存条尽量买品牌一致颗粒一致的!这样才不容易出问题!


版权声明:本文为a806689294原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。