Dd
使用dd導致記憶體出錯
該命令
dd if=/dev/mem of=/dev/null seek=16k bs=4k count=1
用於測試 edac 的錯誤注入。為什麼?據我所知, dd 只是將數據從這些設備複製到其他地方。通過複製導致記憶體錯誤會發生什麼壞事?
您從核心文件中跳過了dd 命令之前的重要部分:
例如,以下程式碼將在插槽 0、通道 2 上的任何 DIMM/地址上的任何寫訪問產生錯誤:
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只是用來觸發的。