使用dd导致内存错误

使用dd导致内存错误

该命令dd if=/dev/mem of=/dev/null seek=16k bs=4k count=1用于测试错误注入埃达克。为什么?据我所知, dd 只是将数据从这些设备复制到其他地方。复制时会发生什么坏事导致内存错误?

答案1

你跳过了重要的部分dd 命令,来自内核文档:

例如,以下代码将在通道 2 上的任何 DIMM/地址上对套接字 0 处的任何写访问生成错误:

 echo 2 >/sys/devices/system/edac/mc/mc0/inject_addrmatch/channel
 echo 2 >/sys/devices/system/edac/mc/mc0/inject_type
 echo 64 >/sys/devices/system/edac/mc/mc0/inject_eccmask
 echo 3 >/sys/devices/system/edac/mc/mc0/inject_section
 echo 1 >/sys/devices/system/edac/mc/mc0/inject_enable
 dd if=/dev/mem of=/dev/null seek=16k bs=4k count=1 >& /dev/null

内核驱动产生错误,这与dd无关,dd只是用来触发它。

相关内容