记一次内存条问题排查
问题
工位电脑,正常使用随机时间(几十分钟到几小时)会出现下图蓝屏
过程
1、脑补
从蓝屏的终止代码来看很可能内存有关系,联想到昨天找IT同学加了2根内存条以扩充生产机器的内存。
2、瞎猜,验证
刚开始猜测是内存频率和时许不匹配,机器一共4根内存条,3根是3200MHZ,1根是2600MHZ,因此把2600MHZ的取下来,正常使用一段时间后依然蓝屏。
3、再瞎猜,然后写代码
继续猜,可能和内存某个地址位损坏有关系,考虑到复现时间长且随机,于是用C++写了以下代码程序,代码逻辑是申请内存,然后写入数据。
代码逻辑是申请内存,然后写入数据。
4、再验证
一共4根内存条,选择2根插在同一个双通道插槽上,开机跑上面程序,来快速二分找出有问题的内存条。
结果
折腾了十几分钟,找出了问题的内存条找IT同学换掉了。嗯,最后揪出来的是下图这货。
最后,二分大法赛高!