迅维网

标题: 使用 MODS 诊断复合体的 MATS 程序测试 nvidia 显卡的内存 [打印本页]

作者: 8000    时间: 2022-6-4 11:06
标题: 使用 MODS 诊断复合体的 MATS 程序测试 nvidia 显卡的内存
操作和维修大量显卡时,不可避免地会出现需要检查安装在视频加速器印刷电路板上的内存芯片的情况。
用于这些目的的一个非常方便的工具是带有 MATS 程序的 MODS 软件包(MOdular Diagnostic Suite 或 Modular Diagnostic Software),它允许您测试 Nvidia 视频卡的视频内存。
验证过程非常简单,包括使用可引导的 MODS 闪存驱动器加载,然后分析自动生成的 repot.txt 文件中的错误。如果需要,此实用程序可以在部署了所需环境的任何 Linux 计算机上使用。
本文讨论了创建和实际使用 NVIDIA 模块化诊断软件包中的 MATS 程序来检查显卡内存的过程。
什么是模块化诊断复合体 MODS 和 MATS 程序?
MODS 复合体是 NVIDIA 的专有实用软件,旨在使用 JavaScript 脚本诊断 NVIDIA 显卡。
MODS综合体旨在执行三个主要操作:
MODS 复合体适用于 Linux 系列的操作系统,在 MacOSX 中,也有适用于 Windows 的版本。版本 290 之前的 MODS 版本可以在 DOS 下运行。

MATS 是来自 MODS 综合体的一个程序,用于测试 Nvidia 视频卡的内存。
它仅适用于具有必要二进制文件的 Linux 操作系统。MATS 有助于在视频卡上查找有问题的芯片,这些芯片通常表现为代码 10 或 43 的错误以及图像中的伪影:
Nvidia显卡的内存芯片出现故障时Windows任务管理器中通常出现的错误示例(此设备无法启动,代码10):
让我们仔细看看在运行 Linux 的计算机上以常规方式检查显卡的过程。
使用 MODS 诊断系统的 MATS 诊断程序创建可启动的 USB 闪存驱动器
带有 MODS 程序的 MATS 软件包可以在具有至少 4 GB RAM 的支持物理地址扩展 (PAE) 的 x86_64 或 aarch64 处理器的系统上运行。
要使用 MATS/MODS 测试程序创建可启动闪存驱动器,您需要:

其他合适的程序,如 Rufus,也可用于将映像部署到可引导的 USB 闪存驱动器。生成的闪存驱动器包含一个 ARCH Linux 操作系统的分发版,其中包含一个从 MODS 复合体自动加载的 MATS 程序,用于测试 VRAM。
要检查显卡内存芯片的性能,您需要从有问题显卡的计算机上的 MATS/MODS 闪存驱动器启动。
在测试显示器上不显示图像但被系统检测到的显卡的情况下,建议将 poweroff 命令添加到 runmats 配置文件(Mods 文件夹)的末尾。之后,电脑会在检查显存后自动关机,无需猜测检查过程何时结束。
使用 MODS 程序检查显卡内存芯片是否有错误
要使用 MATS-MODS 程序测试显存,您需要:

并将结果写入 repot.txt 文件。
您可以通过运行以下命令查看扫描结果:
纳米报告.txt
如果您选择从集成的 Intel 卡而不是 Nvidia 选中的卡启动,程序会显示错误消息“无法识别此卡”,错误代码 00000003:
如果被测试的视频加速器没有在显示器上显示图像,但至少初始化了它(这可以通过在打开显示器后短时间打开显示器来看到),那么程序将能够对其进行测试。
如果使用常规的可启动闪存驱动器和默认设置,则 MATS/MODS 程序会测试 20 MB 的视频内存,这通常足以检测出故障芯片。
如有必要,您可以在 Mods 文件夹的 runmats 文件中更改正在测试的视频内存量。设置显存测试量的参数在以下行中:
“$LOCATION/$PKGNAME/垫子”-e 20
其中 20 是加载时程序测试的显存量。
同时,应该记住,被检查的内存量的增加会成比例地延长测试时间。
如何分析内存测试程序中获得的结果
内存测试结果保存到 mods 文件夹下的 repot.txt 文件中:
通过 MODS 包的 MATS 程序验证有问题的 Nvidia GTX 1080 显卡期间获得的结果示例,版本 367.38(repot.txt 文件中的信息表明 FBIOC [31] 中的小问题(33 个错误): 0] 内存库):
垫子版本 367.38。使用 20 MB 内存(从 0 MB 开始)测试 GP104。发现错误。使用 -matsinfo 了解详细信息。此消息只会出现一次。子部分 RANK0 RD ERR RANK0 WR ERR UNKNOWN ERR------------- ------------- ------------- ------------ -FBIOA[31:0] 0 0 0FBIOA[63:32] 0 0 0FBIOB[31:0] 0 0 0FBIOB[63:32] 0 0 0FBIOC[31:0] 0 33 0FBIOC[63:32] 0 0 0FBIOD[31:0] 0 0 0FBIOD[63:32] 0 0 0等级 0 失败位:C000 C001 C002 C003 C004 C005 C006 C007 C008 C009 C010 C011 C012 C013 C014 C015读取错误计数:0写入错误计数:33未知错误计数:0位 RANK0 写 RANK0 读 未知--- ----------- ---------- --------C000 2 0 0C000 4 0 0C000 4 0 0...地址预期实际重读 1 重读 2 故障位 TPSEIB ROW COL---------- -------- -------- -------- -------- -------- ------ ---- ---0000002638 00000000 00000763 00000763 00000763 00000763 WC0046 0000 026...00000025f8 ffffffff ffff0754 ffff0754 ffff0754 0000f8ab WC0046 0000 05e如果您的第一个 MBof FB 失败,请尝试选项 -no_scan_out错误代码 = 00000001
如果您得到的结果表明存在“损坏”的内存条,则需要确定其在显卡板上的位置并更换为新的。不建议重复使用相同的微电路,尽管是重新焊球的微电路,因为它会退化,而且半导体晶体很可能落后于存储器微电路基板。
如果显存没有问题,报告文件应该包含表明没有错误的信息,例如:
垫子版本 400.184。使用 20 MB 内存(从 0 MB 开始)测试 TU106。读取错误计数:0写入错误计数:0未知错误计数:0=== 子分区导致的内存错误 ===子部分 读取错误 写入错误 未知错误-------- ------------ ------------ ------------联邦调查局0 0 0 0FBIOA1 0 0 0FBIOB0 0 0 0FBIOB1 0 0 0联邦调查局0 0 0 0FBIOC1 0 0 0FBIOD0 0 0 0FBIOD1 0 0 0失败位:没有任何错误代码 = 00000000(正常)
出于测试目的,最好使用单独的可启动闪存驱动器,但如果您愿意,您可以不制作特殊的可启动闪存驱动器,而是在部署了 MODS 内核的 Linux 计算机上运行 Mats。
如何判断故障显存芯片的位置?
在视频卡上,内存芯片的串行放置通常是逆时针使用的(如果您从视频处理器的侧面看视频卡,而 PCI-E 连接器在底部)。
在 Nvidia GeForce RTX 2070 视频卡(带有选择的 TU106-400A-A1 视频处理器)上放置内存芯片的示例:
注意:Nvidia Turing 系列芯片名称中的字母 A 表示这是一款选择芯片,可以在不增加电源电压的情况下稳定工作在更高的频率。
在使用 MATS/MODS 程序检查显卡时,您需要考虑到它只支持 Nvidia 显卡,而不是所有型号。
/mats/mods/367.38.1/mods.pdf 文件中描述了具体的发布功能和错误代码,其中 367.38.1 是正在使用的程序的版本。
可以使用脚本或使用中文程序 TserverLite 检查 AMD 视频卡。
在运行替代 Linux 发行版的计算机上运行 Mats 程序
检查不是来自常规可引导闪存驱动器的视频卡会带来许多问题,因此不建议使用。对于该实用程序的完整操作,模块诊断套件包中的驱动程序的功能是必需的。
要在 Linux 上运行 Mats 程序,首先需要安装必要的软件包。这是由 mods/release 文件夹中的脚本完成的(不要忘记分配必要的权限来执行它):
install_module.sh --安装
从程序目录的 Linux 命令行启动 mats 程序是使用以下命令完成的:
./runmats

作者: testpoint    时间: 2022-6-5 12:28
联邦调查局都出来了,自己不读一下吗?
作者: fsbuw1    时间: 2022-6-15 16:26
感谢分享。楼主辛苦
作者: wangyjkang    时间: 2022-8-6 10:14
NVIDIA,Mods命令定义.docx (18.79 KB, 下载次数: 95)