Каталог решений - AMD RYZEN 5600X: погоня за попугаями

Описание

Доброе время суток, дамы и господа, товарки и товарищи, черные и белые, и те, кто этим всем не сильно заморачивается!

Я тут по случаю получения пособия по безработице сбегал до магазина и купил себе Ryzen 5600X, чисто посмотреть, а вдруг чудо чудное и диво дивное. На майнинге раптореума проц показал себя на уровне обычного 3600 (без Х), но это скорее всего от количества кеша на ядро. А вот в GeekBench и 1С камешек показал себя со своей лучшей стороны.

Итак, перейдем к сути…

 

ТЕСТОВЫЙ СТЕНД: ЖЕЛЕЗО

Тестовый стенд у меня прост:

— корпус с БП на 800W марки Hiper M800 (достаточно древний, я его себе покупал еще тогда, когда у меня был FX 8320 с "мнимыми" 8-ю ядрами и карта RADEON HD 7970)

— Мать на X570 (не буду никого рекламировать — все примерно одинаковы) с 14-ю "штучками", отвечающими за питание (этими штучками принято мерить крутизну, максимум сейчас вроде бы 16 — в общем чем их больше, тем меньше они греются при большем количестве ядер)

— Винта у меня два:

  $ nvme list-subsys
  Failed to open /dev/nvme0
  Failed to open /dev/nvme1
  nvme-subsys0 - NQN=nqn.2014.08.org.nvmexpress:1987198703F10706084403681289m.2 Smartbuy PS5013-2280T 1024GB        
  \
   +- nvme0 pcie 0000:01:00.0 live 
  nvme-subsys1 - NQN=nqn.1994-11.com.samsung:nvme:980PRO:M.2:S5GXNF0R111153K

Память — 2 планки от PATTIOT:

  $ sudo dmidecode -t 17
  ...
  Handle 0x001A, DMI type 17, 92 bytes
  Memory Device
  	Array Handle: 0x000B
  	Error Information Handle: 0x0019
  	Total Width: 64 bits
  	Data Width: 64 bits
  	Size: 8 GB
  	Form Factor: DIMM
  	Set: None
  	Locator: DIMM 1
  	Bank Locator: P0 CHANNEL B
  	Type: DDR4
  	Type Detail: Synchronous Unbuffered (Unregistered)
  	Speed: 3600 MT/s
  	Manufacturer: Unknown
  	Serial Number: 102707A5
  	Asset Tag: Not Specified
  	Part Number: 4400 C19 Series
  	Rank: 1
  	Configured Memory Speed: 3600 MT/s
  ...

Т.е. это прошаренная память, которая берет и 4600 МГц на хорошей мамке, но у меня она работает на 3600 МГц, CL15 (15, 15, 15, 30, 45, …) — настроено ручками по какой-то фотке с интернетов, скорость 50-52 Гб/с. Память была достаточно дешевая для такой частоты (10800 р. за 2х8), поэтому и взял.

— ну и видеокарта GF GTX (какой-то NONAME) 1060 3 Гб — ничего необычного.

Проц был куплен на днях на горбушке (5600X BOX) вместе с корпусом (450W БП), памятью (16ГиБ 3200 МГц), материнкой (чипсет А520) и SATA NVME на 120 Гб. За все отдал 35 555 рублей. В новый корпус к новой мамке и винту переехал старый 3600-й, в старый корпус на старую мать на X570 был воткнут новый проц. Боксовый кулер от 5600-го оказался бесполезной кучей г-на, на котором проц в достаточно тепличном стресс-тесте быстро перешагнул планку в 90оС, после чего для него в ближайшем DNS был куплен кулер ZALMAN (1650 рублей), на котором температура не поднималась выше 77оС даже при длительном и жестком стресс-тесте.

Тестовая база у меня будет в трех местах — на обоих дисках и на виртуалке.

 

ТЕСТОВЫЙ СТЕНД: СОФТ

В качестве софта я использую самый последний Ubuntu 21.10 с ядром 5.16.RC3 (т.е. тоже самым последним на сегодняшний день). Ядро не пересобирал (пока), т.е. все в стоке от проекта ядра для убунту. Кому интересно — читните это (блин, уже RC4, так что у меня уже не самое последнее ядро).

Для измерения средней температуры по больнице я юзаю драйвер zenpower3. По сцылке информация о том, как его собрать и как заблокировать мешающий ему k10temp.

Для визуализации измеренного теплопакета, температур и всего такого прочего я юзаю утилитку zenmonitor.

1С у меня стоит самой распоследней версии: 8.3.20.1613. Ставится теперь она под линух с помощью своего установщика, в котором можно выбрать, что поставить, куда, как, сколько, … Теперь есть утилиты администрирования — в общем все, как в винде. Единственно, что меня заставило нажать кнопари — это либа "libenchant.so.1", которая не идет в комплекте с поставкой 1С. Но ее у меня много где есть, поэтому нехитрым движением руки все начинает работать:

  $ cd /opt/1c.... # перейдем в каталог с установленной 1С
  $ sudo ln -s /snap/gnome-3-28-1804/161/usr/lib/x86_64-linux-gnu/libenchant.so.1 . # создадим сцылку на требуемую либу

Ну и пакет libenchant-2-2 (который доступен для 21.10) я поставил. Не знаю, был ли в этом хоть какой-то смысл…

 

Так выглядит установка 8.3.20 в Linux

 

ТЕСТИРОВАНИЕ "ИСКАРОПКИ"

Ну дальше я взял небезызвестный тест Гилева с его небезызвестного сайта (гугл в помощь) и погнался за попугаями…

Для начала я создал новую базу в $HOME и просто без никого и ничего запустил тест. Результат меня обрадовал:

06.12.2021 18:11:01 starik2005(собака)bk.ru 138,89.

Т.е. первый тест без всяких там улучшений и всего такого сходу показал 139 почти попугаев. Цифры, которых я еще не видел нигде.

 

РАЗГОН БЕЗ ПОВЫШЕНИЯ TDP И ЯДЕРНЫЙ ТЮНИНГ

Начало меня обнадежило, поэтому я пошел в BIOS и установил +200 МГц без изменения TDP, все опции PBO засунул в AUTO. В итоге получил теплопакет 77W в пределе и почти 143 попугая с первого разу (картинка более новая, но смысл тот же):

 

 

Дальше я запускал тест на каждом ядре по несколько раз, в итоге на 3-ми ядре получил результат 147 баллов:

06.12.2021 19:02:30, starik2005(собака)bk.ru, 147,06.

Запущенный без каких бы то ни было параметров процесс выполняется на разных ядрах — система сама его туды-сюды кидает. Для того, чтобы запустить процесс на строго определенном (определенных) ядре есть утилита taskset, которая может или запустить процесс по указанной маске (младший бит — первое ядро, старший — последнее), или указать "ядерную" маску для уже запущенного процесса.

  $ ps -aux | grep  1cv8
  sergey      8636  2.3  7.9 2193388 1295648 ?     Sl   21:28   1:38 /opt/1cv8/x86_64/8.3.20.1613/1cv8 ENTERPRISE /IBName"Информационная база" /AppAutoCheckMode
  sergey     13753  0.0  0.0   9312  2408 pts/1    S+   22:37   0:00 grep --color=auto 1cv8
  
  $ taskset -p 0x0000004 8636
  pid 8636's current affinity mask: fff
  pid 8636's new affinity mask: 4
  

Вот так, "без всей этой возни в гиперпространстве", можно указать, что процесс должен выполняться на 3-м ядре (2^N, где N — это ядро с индексом, начинающемся с "0", т.е. 2 ^ 2 = 4).

Итак, после того, как я "перебрал" ядра, я на третьем ядре получил заветные 147 попугаев!

 

ВИРТУАЛКА

А LInux виртуальный диск создается легко и непринужденно:

  $ sudo mount -t tmpfs -o size=1024M tmpfs /cache

Ну и что тут у нас?

 

151.52!

В итоге после того, как для конкретного ядра я установил режим работы performance, я преодолел планку в 150 попугаев, набрав 151.52 попугая и выйдя в лидеры )))

Установить режим питания конкретному ядру в Linux можно так:

  $ sudo cpufreq-set -g performance -c 2 # где 2 - номер ядра (нумеруется с нуля)

Для того, чтобы поставить этот режим всем вашим ядрам, можно сделать так:

  $ for((i=0;i<`cat /proc/cpuinfo | grep MH | wc -l`;i++)) do sudo cpufreq-set -g performance -c $i; echo $i; done
  0
  1
  2
  3
  4
  5
  6
  7
  8
  9
  10
  11
  

 

НУ И О TDP

В ходе тестирования geekbench и 1С я замерял предельный TDP процессора. Вот что у меня получилось:

Geekbench 5:

https://browser.geekbench.com/v5/cpu/11477315

Ну и теплопакет Geekbench 5 и файловой 1С в "один поток":

Geekbench 5

Итак, Geekbench 5 у нас разогнал ядра до 4850 МГц, но с переменным успехом. Теплопакет всего теста уложился в 100W, что уже не совсем "честные 65W".

1C 8.3.20.1613 файловая, Гилев TPC

А вот однопоток 1С вполне уложился в заявленные производителем 65W — хватило и 56-ти.

Я бы сказал, что результат отличный.

 

ЗАКЛЮЧЕНИЕ

Современные процессоры скрывают в себе огромный "потенцевал", они имеют разные по характеристикам ядра, некоторые из них могут работать быстрее остальных. С умелыми и очумелыми ручками можно уверенно двинуть границу производительности вверх, давая пользователю больше работать и меньше гонять чаи. При том на современных синих процессорах вполне себе "можно вскипятить чайку" (с) — экономия на ячайнике )))

has been added to your cart:
Оформление заказа