如何修复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
如何连接Linux wifi?

1 前言 一个问题,一篇文章,一出故事。 笔者最近需要在命令行下连接wifi,于是整理此章节。 2 …

Debian-Like
如果实现Ubuntu的冗余网卡?

1 前言 一个问题,一篇文章,一出故事。 今天使Ubuntu重新安装了家里的服务器,由于服务器有两个 …

Debian-Like
如何编译安装LibreDWG?

1 前言 一个问题,一篇文章,一出故事。 由于freeCAD需要依赖LibreDWG转换数据格式,于 …