Куратор темы Статус: Не в сети Регистрация: 10.04.2003 Откуда: Москва
Тест 0 "как таковым" тестом не является, он лишь особая настройка того, что делать с тестируемой памятью после того, как какой-то тест выполнил проверку. Его задача - в проверенном блоке памяти вернуть первоначальное значение (в зависимости от его настроек - или "константное" значение, или "случайное") и проверить, что вся остальная память сохраняет правильное значение. Т.е. проверяется режим "сохранения" в памяти того, что не должно было измениться (с признаком ошибки, естественно). С ними связаны тест "move", которые ничего не тестируют, у них вообще нет фазы проверки. Эти тесты перемещают весь блок памяти "четное" число раз, в результате должно остаться то, что было изначально. Проверка возлагается на "сохранность" (тест 0). Поэтому, тесты move не работают без теста 0. Сам тест 0 ... честно говоря, я совершенно не помню, можно ли его перемещать с списке. Лучше не трогайте его описание - пусть лежит в 0 описателе. Если он вам не нужен, поставьте Enable=0 (тесты move придется тоже выключить). Можно ли тест 0 описать еще в одной записи? Нет, не стоит этого делать - тест 0 (refresh) контролирует всю память, а не "блок" (как все остальные тесты), а потому два теста refresh с разными настройками будут работать "чудесТно". Честно говоря, даже мысли не возникало сделать несколько тестов refresh... так что - больше одного теста refresh делать не стоит. В списке тестов может быть что угодно в любой последовательности. Хоть 0 0 0 0 0 3 1 0 0 0, хотя в двух последовательных запусках теста 0 нет никакого смысла (наверно). Эта последовательность чисто умозрительная, пишите что хотите. Впрочем, если вы хотите какой-то тест сделать доооольше, то просто измените его время работы. Как вариант - скопировать какой-нибудь тест в другой с бОльшим временем. Тест refresh частично "выполняется" при каждом другом тесте, но фаза проверки - только в тот момент, когда он вызывается в списке тестов. Настройка теста refresh - это то, как будет заполняться память. Пробуйте разные варианты. Честно говоря, я особой разницы не видел (но, у меня и объекта тестирования небыло)
Remark: Я уже не помню, поэтому пожелание - в файле конфигурации можете что угодно делать с описателями, например - всести все "default", но не трогайте тест №0. Наверняка это учтено, но, на всякий случай, оставьте его как есть. Если он не нужен, просто отключите (Enable=0).
Submoderator
Статус: Не в сети Регистрация: 10.06.2011
Я ни в коем случае не хочу отключать тест 0. Я просто не могу понять - его достаточно на цикл запустить один раз или надо запускать после каждого запуска теста mirrormovie ? Я создал свои 15 тестов, плюс есть 16-й - нулевой тест. Теперь я задаю порядок тестов - использую все рарешенные 32. И не знаю - в моей последовательности из 32 тестов достаточно 1 раз использовать нулевой тест или его надо включать несколько раз ?
Куратор темы Статус: Не в сети Регистрация: 10.04.2003 Откуда: Москва
32 разных тестов может быть разрешено, но нужна перекомпиляция dll. Сейчас - 16. Вы и не сможете выставить больше 16, автоматически сбросится в default. Без явной нужды лезть не хочу, могут быть проблемы. Если вам нужно бОльшее количество списка тестов на выполнение, это изменить очень легко (наверно). Тест 0 в список запуска можете устанавливать сколько угодно раз. Вы можете указать любое число тестов move (сам номер теста, сами понимаете, указываете вы), с разными параметрами, если хотите. При этом будет производится тестирование (перемещение по заданным условиям), но =проверка= будет делаться только тогда, когда будет запущен тест 0. Сделано это потому, что при move крайне мал шанс взаимной компенсации ошибок, они размажутся (скопируются) по всему блоку, а потому проверку можно отнести на потом. В ТМ5 не стоит задача выискивания сбойных "бит" и "адресов", поэтому такая вольность, в пользу эффективности, допустима.
На всякий случай уточню: "его достаточно на цикл запустить один раз или надо запускать после каждого запуска теста mirrormovie ?" Произвольно. Любая комбинация должна работать правильно. Я не помню, но кажется, комбинация "0,0" не будет работать эффективно. Между 0 и 0 хорошо бы поместить что-то.
Submoderator
Статус: Не в сети Регистрация: 10.06.2011
Большое Вам спасибо за Вашу помощь! Я ставлю последовательность из 32 тестов (в описании программы написано, что так можно), но самих тестов использую 16, некоторые повторяю по несколько раз.
Я хочу уточнить для себя один момент - я имею набор своих разных тестов (на основе simpletest и mirrormovie, mirrormovie128), мне достаточно для выявления ошибки один раз прогнать тест 0 в самом конце набора моих тестов или нет? Сам думаю, что тест 0 мне нужно вставлять чаще для выявления ошибок.
Или simpletest сам ищет ошибки?
Тогда тест 0 можно будет вставлять для выявления ошибок только после тестов mirrormovie или mirrormovie128 ?
Мой предварительный конфиг
[Main Section] Cores=0 Tests=16 Time (%)=100 Cycles=1 Language=1 Test Sequence=2,5,4,15,1,7,3,0,6,4,15,10,7,8,11,0,9,4,15,12,7,14,4,15,13,0,15,4,5,7,3,0
[Global Memory Setup] Channels=2 Interleave Type=1 Single DIMM width, bits=64 Operation Block, byts=256 Testing Window Size (Mb)=1024 Lock Memory Granularity (Mb)=16 Reserved Memory for Windows (Mb)=128 Capable=0x1 Debug Level=7
[Window Position] WindowPosX=200 WindowPosY=100
[Test0] Enable=1 Time (%)=100 Function=RefreshStable DLL Name=bin\MT0.dll Pattern Mode=0 Pattern Param0=0x0 Pattern Param1=0x0 Parameter=0 Test Block Size (Mb)=0
[Test1] Enable=1 Time (%)=100 Function=SimpleTest DLL Name=bin\MT0.dll Pattern Mode=1 Pattern Param0=0x1E5F Pattern Param1=0x45357354 Parameter=0 Test Block Size (Mb)=16
[Test2] Enable=1 Time (%)=100 Function=SimpleTest DLL Name=bin\MT0.dll Pattern Mode=2 Pattern Param0=0x14AAB7 Pattern Param1=0x6E72A941 Parameter=126 Test Block Size (Mb)=16
[Test3] Enable=1 Time (%)=100 Function=MirrorMove DLL Name=bin\MT0.dll Pattern Mode=0 Pattern Param0=0x0 Pattern Param1=0x0 Parameter=1 Test Block Size (Mb)=0
[Test4] Enable=1 Time (%)=100 Function=SimpleTest DLL Name=bin\MT0.dll Pattern Mode=0 Pattern Param0=0x0 Pattern Param1=0x0 Parameter=0 Test Block Size (Mb)=0
[Test5] Enable=1 Time (%)=100 Function=MirrorMove DLL Name=bin\MT0.dll Pattern Mode=0 Pattern Param0=0x0 Pattern Param1=0x0 Parameter=4 Test Block Size (Mb)=0
[Test6] Enable=1 Time (%)=100 Function=SimpleTest DLL Name=bin\MT0.dll Pattern Mode=1 Pattern Param0=0x1E5F Pattern Param1=0x45357354 Parameter=126 Test Block Size (Mb)=16
[Test7] Enable=1 Time (%)=100 Function=MirrorMove128 DLL Name=bin\MT0.dll Pattern Mode=0 Pattern Param0=0x0 Pattern Param1=0x0 Parameter=254 Test Block Size (Mb)=0
[Test8] Enable=1 Time (%)=100 Function=SimpleTest DLL Name=bin\MT0.dll Pattern Mode=2 Pattern Param0=0x14AAB7 Pattern Param1=0x6E72A941 Parameter=0 Test Block Size (Mb)=16
[Test9] Enable=1 Time (%)=100 Function=SimpleTest DLL Name=bin\MT0.dll Pattern Mode=2 Pattern Param0=0x14AAB7 Pattern Param1=0x6E72A941 Parameter=126 Test Block Size (Mb)=16
[Test10] Enable=1 Time (%)=100 Function=MirrorMove DLL Name=bin\MT0.dll Pattern Mode=0 Pattern Param0=0x0 Pattern Param1=0x0 Parameter=1 Test Block Size (Mb)=0
[Test11] Enable=1 Time (%)=100 Function=MirrorMove DLL Name=bin\MT0.dll Pattern Mode=0 Pattern Param0=0x0 Pattern Param1=0x0 Parameter=2 Test Block Size (Mb)=0
[Test12] Enable=1 Time (%)=100 Function=MirrorMove DLL Name=bin\MT0.dll Pattern Mode=0 Pattern Param0=0x0 Pattern Param1=0x0 Parameter=3 Test Block Size (Mb)=0
[Test13] Enable=1 Time (%)=100 Function=MirrorMove DLL Name=bin\MT0.dll Pattern Mode=0 Pattern Param0=0x0 Pattern Param1=0x0 Parameter=4 Test Block Size (Mb)=0
[Test14] Enable=1 Time (%)=100 Function=SimpleTest DLL Name=bin\MT0.dll Pattern Mode=0 Pattern Param0=0x0 Pattern Param1=0x0 Parameter=0 Test Block Size (Mb)=16
[Test15] Enable=1 Time (%)=100 Function=SimpleTest DLL Name=bin\MT0.dll Pattern Mode=0 Pattern Param0=0x0 Pattern Param1=0x0 Parameter=126 Test Block Size (Mb)=16
В simpletest parameter=126, так как он у меня работает лучше, чем 254 или 510. Operation Block, byts=256, так как он у меня (тубан 1055) работает лучше, чем 64,128 или 512.
Что еще думаю изменить - поставить везде, где simpletest time в 300.
Куратор темы Статус: Не в сети Регистрация: 10.04.2003 Откуда: Москва
Достаточно вставить тест 0 один раз, после всех тестов цикла. Но, вы можете вставить несколько раз. Все настройки на ваше усмотрение. Коль скоро появился файл конфигурации, то, следующий шаг - нужно сделать его "выбирабельным". На полноценную переделку пока нет сил, проект не предполагал перезапуск, а запуск там совсем не прост. Так что, пока сделал как сделал. Смотрите кнопку загрузки.
Вложение:
tm5.rar
(v0.12) Да, в конфиге появидись два новых поля - название и автор - заполните их.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Submoderator
Статус: Не в сети Регистрация: 10.06.2011
Красота! Поля заполнил, выглядит просто на заглядение! Большое Вам спасибо! Теперь сделаю новый конфиг с учетом возможного запуска теста 0 всего 1 раз. Ведь если до него будет хоть 1 ошибка, то он все равно ее выловит? Просто это произойдет позже, если я его поставлю в самом конце?
Для моего процессора thuban 1055T с его L2 кэш = 3 Mb и его L3 кэш = 6 Mb размер блока при тестировании может быть 8 Mb или нужен минимум 16 Mb, чтобы тестировалась память , а не кэш?
Если увеличить количество потоков для тестирования с 6 до 24 (или больше) будет ли позитивный эффект для тестирования памяти?
Куратор темы Статус: Не в сети Регистрация: 10.04.2003 Откуда: Москва
Попадание в кеш означает провал теста DIMM. Так что, этого надо избегать. Проверить сей момент можно - если при уменьшении размера блока произошло =увеличение= скорости выполнения теста, то вы попали в кеш. А вообще, мне кажется, нет особого смысла в увеличении количества потоков выше или ниже физически присутствующих ядер. Некоторые тесты больше, некоторые меньше, но вссе используют SSE. Для AMD лучше-бы использовать MMX ... но, переделывать уж точно не буду, sorry. Можно сделать и много больше потоков, если сделать это специально (меняется тип работы с памятью на кусочно-дерганный). Для этого надо сделать не менее х2 потоков к реальным ядрам (можно и к логическим). У меня память не сбоит, проверить не могу. А так - думаю, стоит попробовать с 3 потоками, с 6 и, например, 24. Идея в том, что на ядрах тесты выполняются непрерывно, а когда потоков больше кол-ва ядер, то каждый тест постоянно прерывают (другим потоком). Вот и получается работа-пауза-работа-пауза... Но, при этом ломается алгоритм тестирования (что не плохо и не хорошо - просто "другое") и регионы памяти так-же импульсно тестируются. Кроме того, это наверняка повышает количество открытых страниц в DIMM. Попробовать стоит, но вместо тестов будет винегрет. )) Размер кеша делится на все выполняемые потоки. Если их 6, то порог блока будет соответствующим. Смотрите за скоростью. Кстати, не хотите выложить конфиг? Только назовите его как-нибудь, чтоб отражался тип процессора. В выложенном конфиге уберите ключ debug. Не надо GUI портить. ))
Submoderator
Статус: Не в сети Регистрация: 10.06.2011
Выложу свой новый конфиг, но хотел бы получить ответ на свой вопрос- запуск теста 0 всего 1 раз отловит ошибку также само как и запуск 0 теста несколько раз? Просто найдет ее позже, но саму ошибку отловит?
Режим дебаг специально поставил, чтобы была видна скорость. А сделать так, чтобы у Вас память сбоила - это элементарно - просто надо уменьшить вторичные тайминги.
Получил результаты 4 Мб- 38 c 8 Мб- 39 c 16 Мб-40 c 32 Мб-39 c
Видимо, 4 Мб попадают в кэш, а может и нет. Если делить мой кэш на количество потоков, то 4 Мб в него не влезут.
Меньше 4 Мб блок сделать не могу. Вы в своей программе изменили размер блока при переходе к версии 0.5, теперь числа 1.2.3 интерпретируются как части блока, а не размер в Мб.
Advanced member
Статус: Не в сети Регистрация: 29.03.2017
Можно просто сначала открыть приложения которыми хотите пользоваться во время тестирования, если они конечно не сильно меняют объём используемой памяти. А вот если сначала запустить тест, а потом например браузер будет несколько неприятно.
подскажите, в чем проблема, когда тестмем5 сначало гасит экран а потом сбрасывает тест (прекращает использовать рам и запускать тесты), но время идет. ошибок при этом не выдает. куда копать? грешил на разгон, после спустился на xpm, а после и на стоке 2133 один в один. минуте на 7 теста происходит обычно.
Куратор темы Статус: Не в сети Регистрация: 10.04.2003 Откуда: Москва
mViews, у мня была память, которая глючила просто от повышенного напряжения. Причем, это "повышенное" было вообще "номинальным". Я долго пытался избавиться от фантомных сбоев, ничего не помогало. Потом снизил напряжение ( с коррекцией таймингов) и проблема ушла. Я уж не знаю, что они там наколбасили, на ихней PCB, но так было. Впрочем, вам виднее. Программа не умеет гасить экран, да и не лезет она ни куда, кроме как в память. Если это драйвер валится из-за нехватки памяти, то дайте больше памяти Windows:
Цитата:
Reserved Memory for Windows (Mb)=128
Но, я не думаю, что в этом дело.
Добавлено спустя 4 минуты 7 секунд: anta777, я не могу что-то менять в тестах, без четкой необходимости. Иначе придется заново проходить полный цикл проверки на совместимость, для всех вариантов и конфигураций. Это Много и это Долго.
Member
Статус: Не в сети Регистрация: 21.04.2005 Откуда: Москва Фото: 57
serj как насчет обновить прогу? Ну и выпустить платную версию <500руб с расширенным функционалом, чтоб денюжку приносило, по аналогии с https://www.karhusoftware.com/ramtest/ (10 еуро между прочим). Тема с разгоном памяти щас набирает обороты.
Member
Статус: Не в сети Регистрация: 18.09.2017 Откуда: Москва Фото: 4
Ох, намучился я со своим перфекционизмом. Подскажите пожалуйста, как настроить программу для "тщательной проверки" - на сколько имеет смысл увеличивать параметр "Time (%)" и имеет ли вообще? Как увеличивать время тестирование эффективнее - за счет увеличения "Time (%)" или за счет увеличения количества циклов? И есть ли смысл пользоваться китайской версией 0.10а, в которой 12 тестов вместо 5?
Submoderator
Статус: Не в сети Регистрация: 10.06.2011
у меня китайская версия находила ошибки (обычно на втором цикле), а обычная нет, поэтому лучше взять от китайской версии конфиг и им пользоваться, время тестирования не увеличивал
Куратор темы Статус: Не в сети Регистрация: 10.04.2003 Откуда: Москва
anta777, посмотрел исходник (больше так делать не буду) - вы можете Вообще НЕ Указывать тест0 в списке тестов.
Цитата:
; если нужный тест = 0 (т.е. тест регенерации), то он УЖЕ проведен - просто перейти к следующему
Тест 0 достаточно просто включить и он будет работать всегда. Т.к., работает он так: (некоторый блок памяти надо проверить) - этот блок проверяется на регенерацию = тест 0 - тестируется выбранным тестом (чем дольше работает ЭТОТ тест, тем меньше потери на вход-выход от проверки сохранности. А потому, нет смысла делать коротким время выполнения каждого тест) - блок заливается шаблоном от теста 0 Т.е. [проверили сохранность - протестировали чем-угодно - вернули изначальное значение блока] - в такой последовательности работает любой тест, кроме move. Move переписывает блок памяти множество раз так, чтобы в итоге получилось исходное построение. Он ничего не тестирует, фазы проверки нет. Любой последующий тест в своем начале проверит регенерацию и выдастся ошибка, если она присутствует. Куда ошибка попадет - в регенерацию или в move - я уж не буду выяснять. Как-то сделал, исправлять всё одно не буду. Ставьте тест 0 после move, если хотите. Несколько (разных) move друг-за-другом работают как один move. Т.е. в нем нет проверки. Думаю, и с источником ошибки ТМ5 будет врать. Но ... вводить фазу проверки в move - это резко угробить скорость.
XRR, оно не стоит того. Выбирают не полезную программу, а модную. И бесполезно пытаться.
Submoderator
Статус: Не в сети Регистрация: 10.06.2011
Огромное Вам спасибо! Все понял! Буду ставить тесты movie не больше одного подряд и после него simpletest со своими настройками. Сейчас сделаю свой новый конфиг.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения