如何修复DMAR故障?

Debian-Like

1 前言

一个问题,一篇文章,一出故事。
笔者今天遇到家里的服务器DMAR错误,于是整理该故障的解决方案。

[19703.320468] dmar_fault: 14 callbacks suppressed
[19703.320477] DMAR: DRHD: handling fault status reg 3
[19703.320493] DMAR: [DMA Read NO_PASID] Request device [04:00.0] fault addr 0xff62e000 [fault reason 0x06] PTE Read access is not set
[19704.235699] DMAR: DRHD: handling fault status reg 3
[19704.235719] DMAR: [DMA Read NO_PASID] Request device [04:00.0] fault addr 0xff62e000 [fault reason 0x06] PTE Read access is not set
[19705.262216] DMAR: DRHD: handling fault status reg 3
[19705.262236] DMAR: [DMA Read NO_PASID] Request device [04:00.0] fault addr 0xff62e000 [fault reason 0x06] PTE Read access is not set
[19706.238359] DMAR: DRHD: handling fault statu

日志显示Direct Memory Access Remapping (DMAR)故障,通常与设备的IOMMU (Input-Output Memory Management Unit) 功能有关。以下是对日志内容的解释和可能的解决方案:
– dmar_fault: 表明 DMAR 发生了故障。
– Request device [04:00.0]: 指出故障发生在设备 [04:00.0] 上,您可以使用 lspci 命令确定该设备。
– fault addr 0xff62e000: 故障的地址,指向内存中的某个位置。
– fault reason 0x06: 表示故障原因,通常是权限问题(如未设置读取访问)。

2 最佳实践

2.1 查看设备状态

2.1.1 查看设备状态

lspci -vv

2.1.2 查看系统日志

journalctl -k

2.2 尝试修复故障

2.2.1 修改引导的内核参数

vim /etc/default/grub

修改如下配置,

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_iommu=off"

配置修改后,你需要使用如下命令更新配置至内核,

update-grub

2.2.2 重启系统应用配置

reboot

参阅文档
=====================
https://bbs.archlinux.org/viewtopic.php?id=230362

没有评论

发表回复

Debian-Like
如何修改Ubuntu SSSD加域用户的头像?

1 前言 一个问题,一篇文章,一出故事。 笔者的工作电脑是一部使用SSSD加域的电脑,加域的大致过程 …

Debian-Like
如何将远程主机端口经加密隧道映射到本地主机?

1 前言 一个问题,一篇文章,一出故事。 笔者最近需要将远程的一台主机“127.0.0.1:3128 …

Debian-Like
如何安装fcitx5解决Google Chrome输入法兼容问题?

1 前言 一个问题,一篇文章,一出故事。 笔者最近发现Google Chrome与当前系统的拼音输入 …