про dmgg.py
Тестирование видеопамяти видеокарт с видеочипом AMD (хотя вероятно этот метод подойдет и для NVIDIA)
Суть метода - запустить с флехи Arch Linyx а затем из него запустить или один или другой скрипт
имена скриптов dmgg.py более новый - указывает конкретные банки памяти
direct-mem-test.py более старый - указывает адресное пространство а по ним
определяют банки памяти - это пространство вроде для
всех амд карт одинаково
Последовательность действий
1) скачать iso образ archlinyx - например отсюда
http://mirrors.evowise.com/archlinux/iso/2020.11.01/2) залить этот образ через rufus
3) скопировать в корень флешки файлы dmgg.py и direct-mem-test.py
4) выставить тестируемую видеокарту вторичной в биос - т.е. загрузка или с внутренней видеосистемы или с другой заведомо рабочей карточки
5) загрузить archlinyx с флехи - 1-я строка
6) когда загрузится система сделать следующее
1) узнать адрес флешки ( # данный символ уже есть в пригашении буду всегда его писать
в описании команд)
# fdisk -l
результат команды /dev/sda1(или вообще нет цифры или 1,2 и т.д)
sda1 и будет адрес флешки
2) примонтировать флешку к образу линукса (хотя возможно она до этого и сама примонтируется
тогда по об этом сообщит)
# mount /dev/sda1 /mnt
3) зайти на данную флешку - в корень ее
# cd /run/archiso/bootmnt
4) просмотреть содержимое флешки (чтоб убедиться что на ней есть файлы для тестов)
# ls
5) далее - для работы одного и другого тестового файла ему в качестве параметра нужно задать
начальный адрес тестируемой видеопамяти.Для этого его сначала надо найти командой
опроса pci устройств
# lspci -v |less
вообще то параметр |less позволяет вводить инфу постепенно чтоб она вся была видна на экране - стрелками либо энтер затем стрелками можно просматривать экран вверх низ
пишут что должно для скроллинга работать SHIFT + PageUp или SHIFT + PageDown но у меня
почему то не работает
затем на экране необходимо найти тестируемую видеокарту (например Radeon R9 390) - сделал
фото этой записи - см.фото и запомнить значение после memory at (там где size=256M)
на фото это С0000000 - это и будет стартовый адрес видеопамяти видеокарты
выход из скроллинга в основную линукс оболочку - клавиша Q
6) запустить непосредственно скрипт для проверки видеопамяти dmgg.py или direct-mem-test.py
# python3 ./dmgg.py C0000000 20 16 (для dmgg.py)
здесь C0000000 нач адрес видеопамяти
20 количество Мегабайт которые надо протестировать
16 количество чипов памяти запаянных на видеокарте
ИЛИ
# python3 ./direct-mem-test.py C0000000 8
здесь C0000000 нач адрес видеопамяти
8 количество мегабайт которые надо протестировать
Программа dmgg.py выдаст сразу номера банок или банки памяти
отсчет - против часовой (как и для NVIDIA) - только счет по порядку 1 2 3 4 5 6 7 8 и т.д
Программа direct-mem-test.py выдаст адреса - по ним определяются банка - см фото
или пишут на vlab.su
First problem at: 0x0-0x1f0 - U2200+U2300
First problem at: 0x200-0x3f0 - U2000+U2100
First problem at: 0x400-0x5f0 - U2400+U2500
First problem at: 0x600-0x7f0 - U2600+U2700
ИЛИ
u2000 0x500
u2100 0x700
u2200 0x400
u2300 0x600
u2400 0x000
u2500 0x200
u2600 0x100
u2700 0x300
u2800 0x900
u2900 0xb00
u3000 0x800 !
u3100 0xa00 !
u3200 0xc00 !
u3300 0xe00
u3400 0xd00 !
u3500 0xf00 !
U2000 First problem at: 0x200
U2100 First problem at: 0x300
U2200 First problem at: 0x0
U2300 First problem at: 0x100
U2400 First problem at: 0x400
U2500 First problem at: 0x500
U2600 First problem at: 0x600
U2700 First problem at: 0x700
На картинке offset проблемной памяти кончается на 0x...df4
Для amd polaris берём по модулю 0x800 - получаем что проблемная ячейка памяти в том чипе, который содержит адресо 0x5f4.
Дальше по стандартной таблице для polaris - viewtopic.php?f=48&t=103361&p=775703&hilit=at#p775703 получаем что это U2500. Это вроде и есть ваш заведомо проблемный чип?
Данная арифметика касается любой тестовой утилиты памяти, которая умеет выдавать адреса и для которой логическая адресация совподает с физической по модулю 0x1000.
---------- Добавлено спустя 5 минут 19 секунд: ---------- viewtopic.php?f=48&t=130822&p=982999#p982999в этой сборке есть тсервер для вашей карты - он все покажет