LINUX.ORG.RU

Особенности выбора памяти для двухканала

 ,


0

1

Для того, чтобы завелся двухканал, должны совпадать тайминги, частота и объем. Но есть ли подводные камни? Возможны ли теоретически проблемы, вызванные тем, что планки от разных производителей? Память покупается для Lenovo v15ada с Athlon Gold

★☆

А смысл задрачиваться по поводу многоканальной памяти? Это как генту ставить для «оптимизации» под железо - общепринято, что профит есть, но никто его не может посчитать.

vvn_black ★★★★★
()
Последнее исправление: vvn_black (всего исправлений: 1)

Совпадение таймингов и частот не требуется, система автоматически их выровняет по самой медленной планке. А вот объем должен совпадать. У меня две планки с разными частотами и таймингами и разных производителей работают в двухканале уже несколько лет без проблем.

И то, даже если объем разный, современные мат. платы поддерживают частичный двухканал (так называемый flex mode). Например, с модулями 8 GB + 4 GB, 8 GB будут работать в двухканале, а оставшиеся 4 GB в одноканале. Но это такое себе, лучше полноценный двухканал.

Наверное, есть капризные платы или процессоры, которым не нравится, когда используются планки разных производителей, но мне такие не попадались.

Kron4ek ★★★★★
()
Последнее исправление: Kron4ek (всего исправлений: 2)
Ответ на: комментарий от vvn_black

А смысл задрачиваться по поводу многоканальной памяти?

Пропускная способность памяти в два раза выше. Это особенно важно, например, для интегрированной графики.

https://www.youtube.com/watch?v=s_2Z208nDGE

Kron4ek ★★★★★
()
Ответ на: комментарий от Kron4ek

система автоматически их выровняет по самой медленной планке.

Нет. Зачем их выравнивать ?

А вот объем должен совпадать.

Нет. Всё очень просто. Для достижения наибольшей производительности, модули должны быть одинаковыми. Если модули не одинаковые, производительность будет меньше. Вот, так. Технические детали функционирования модулей - для наличия двухканала не важны. Двухканал будет включён в любом случае : или разные объёмы, или разные тайминги - это тебе скажет любой CPU_Z и любая BIOS.

так называемый flex mode

flex mode - это когда в одном слоте 2 гига, и в двух других по одному, и изо всего этого собирается двухканал. Сейчас такие слова вообще не используются, это что-то про DDR1 и 2004-й год.

lenin386 ★★★★
()
Последнее исправление: lenin386 (всего исправлений: 7)
Ответ на: комментарий от lenin386

Нет. Зачем их выравнивать ?

Как нет, если да. Выравняет - имеется в виду выставит одинаковую частоту для обеих планок, если они разной частоты.

Если ты ставишь в систему планку частотой, например, 2666 MHz и вторую планку с частотой 2133 MHz, то система автоматически выставит 2133 MHz на обе планки, то есть по частоте самой медленной из них. Проверял на двух разных материнках.

А вот объем должен совпадать.

Нет. Всё очень просто.

Планки разного объема в полноценном двухканале работать не могут. В частичном - да, но не в полноценном.

flex mode - это когда в одном слоте 2 гига, и в двух других по одному, и изо всего этого собирается двухканал. Сейчас такие слова вообще не используются, это что-то про DDR1 и 2004-й год.

На Wiki сказано так:

Certain Intel chipsets support different capacity chips in what they call Flex Mode: the capacity that can be matched is run in dual-channel, while the remainder runs in single-channel.

Впрочем, это не важно, оно может и не так называется сейчас, но работает так, как я написал.

Kron4ek ★★★★★
()
Последнее исправление: Kron4ek (всего исправлений: 1)
Ответ на: комментарий от Kron4ek

Если ты ставишь в систему планку частотой, например, 2666 MHz и вторую планку с частотой 2133 MHz, то система автоматически на выставит 2133 MHz на обе планки, то есть по частоте самой медленной из них. Проверял на двух разных материнках.

Не так все просто, нужно чтобы у обоих планок были прописаны тайминги в SPD для этой самой частоты 2133 МГц, иначе может не взлететь. Очень часто 3200 МГц память не имеет такой записи.

Khnazile ★★★★★
()
Ответ на: комментарий от Kron4ek

Программист, почему падение производительности из-за несовпадения частот и таймингов ты считаешь «полноценной» двухканальностью, а падение производительности из-за различия в объёмах модулей ты считаешь «неполноценной» двухканальностью?

lenin386 ★★★★
()
Ответ на: комментарий от lenin386

Тут дело не в производительности, а в том как двухканал устроен.

Допустим у нас вставлены две планки разного объема в разные каналы: 4 GB и 8 GB. Из них 8 GB могут работать в двухканале, потому 4 GB есть и в первом, и во втором канале. В системе мы заняли 8 GB памяти (скажем, приложения всякие пооткрывали), теперь оставшиеся 4 GB есть только в одном экземпляре на одной из планок. Этот оставшийся объем памяти работает в одноканале, он чисто технически не может работать в двухканале, потому что у него нет пары.

Тогда как при разности частот и таймингов, но при одинаковом объеме планок, весь объем памяти все равно работает в двухканале. Так что я считаю правильным называть одно полным двухканалом (или просто двухканалом), а второе - частичным двухканалом.

Kron4ek ★★★★★
()
Последнее исправление: Kron4ek (всего исправлений: 3)
Ответ на: комментарий от Khnazile

Недавно поставил две разные планки с заводскими 2400 в 3833, взлетело, все тесты прошло, тайминги дикие правда, 24-24 и т.д.

Много думал о том, что выпускают, чтобы закрывать нижнюю нишу

One ★★★★★
()
Ответ на: комментарий от One

3833 это какая-то оверклокнутая память, скорее всего у нее JEDEC-профиль 2400 или 2600

Нормальные тайминги для 3200 это CL24, CL22, CL20. Все что меньше это уже разогнанная память сверх стандарта. С ростом частоты тайминги должны увеличиваться. Я бы не стал покупать такую память.

Khnazile ★★★★★
()

должны совпадать тайминги, частота и объем

С разными частотами и таймингами могут работать в двуканале. У меня подозрение, что там важен только производитель банок памяти.

uwuwuu
()
Ответ на: комментарий от Kron4ek

Смотри, ты установил условно говоря к 3200-й памяти такой же по объему 1600-й модуль, и получил ровно 0 прироста производительности, а я к 3200-й памяти установил в 2 раза меньший по объему но такой же 3200-й модуль модуль. И я получил, в среднем, 1.5 кратный прирост производительности. И как это так частичный двухканал работает быстрее полного? Где логика, программист? Ещё раз повторяю, на техническую сторону работы модулей всем плевать, нам надо ФПС. Посмотри на показания BIOS, CPU-Z. Они никогда не называют двухканал частичным, неполноценным или ещё как. Всегда двухканал.

lenin386 ★★★★
()
Последнее исправление: lenin386 (всего исправлений: 2)
Ответ на: комментарий от lenin386

Посмотри на показания BIOS, CPU-Z. Они никогда не называют двухканал частичным, неполноценным или ещё как.

Это не отменяет того, что часть памяти работает в одноканале, надпись в BIOS или еще где этого изменить не может.

О чем спор вообще? Что плохого в том, что я акцентировал внимание на технической стороне? Пусть даже всем и пофиг. И я уже объяснил свою логику.

С моей точки зрения правильно разделять двухканал на полный и частичный, с твоей - нет. Ну и ладно.

Kron4ek ★★★★★
()
Последнее исправление: Kron4ek (всего исправлений: 1)
Ответ на: комментарий от LINUX-ORG-RU
# dmidecode 3.5
Getting SMBIOS data from sysfs.
SMBIOS 2.8 present.

Handle 0x000E, DMI type 16, 23 bytes
Physical Memory Array
	Location: System Board Or Motherboard
	Use: System Memory
	Error Correction Type: None
	Maximum Capacity: 32 GB
	Error Information Handle: Not Provided
	Number Of Devices: 2

Handle 0x000F, DMI type 17, 40 bytes
Memory Device
	Array Handle: 0x000E
	Error Information Handle: Not Provided
	Total Width: 64 bits
	Data Width: 64 bits
	Size: 8 GB
	Form Factor: DIMM
	Set: None
	Locator: ChannelA-DIMM0
	Bank Locator: BANK 0
	Type: DDR4
	Type Detail: Synchronous
	Speed: 2400 MT/s
	Manufacturer: 1315
	Serial Number: 22111422
	Asset Tag: 9876543210
	Part Number: CT8G4DFS8213.C8FH1  
	Rank: 1
	Configured Memory Speed: 2400 MT/s
	Minimum Voltage: Unknown
	Maximum Voltage: Unknown
	Configured Voltage: 1.2 V

Handle 0x0010, DMI type 17, 40 bytes
Memory Device
	Array Handle: 0x000E
	Error Information Handle: Not Provided
	Total Width: 64 bits
	Data Width: 64 bits
	Size: 8 GB
	Form Factor: DIMM
	Set: None
	Locator: ChannelB-DIMM0
	Bank Locator: BANK 2
	Type: DDR4
	Type Detail: Synchronous
	Speed: 2400 MT/s
	Manufacturer: Samsung
	Serial Number: 53906506
	Asset Tag: 9876543210
	Part Number: M378A1K43CB2-CTD    
	Rank: 1
	Configured Memory Speed: 2400 MT/s
	Minimum Voltage: Unknown
	Maximum Voltage: Unknown
	Configured Voltage: 1.2 V
Kron4ek ★★★★★
()
Ответ на: комментарий от Kron4ek

Спасибки, у меня одноканал :(. Я думал, надо через 1 ставить одинаковые по размеру. Попробую переставить, сейчас так. Или придётся две плашки по 2 гига просто убирать как думаш?

dron@gnu:~$ sudo dmidecode -t memory
# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 2.5 present.

Handle 0x0034, DMI type 16, 15 bytes
Physical Memory Array
	Location: System Board Or Motherboard
	Use: System Memory
	Error Correction Type: None
	Maximum Capacity: 16 GB
	Error Information Handle: Not Provided
	Number Of Devices: 4

Handle 0x0036, DMI type 17, 27 bytes
Memory Device
	Array Handle: 0x0034
	Error Information Handle: Not Provided
	Total Width: 64 bits
	Data Width: 64 bits
	Size: 4 GB
	Form Factor: DIMM
	Set: None
	Locator: DIMM0
	Bank Locator: BANK0
	Type: Other
	Type Detail: Synchronous
	Speed: 1333 MT/s
	Manufacturer: Manufacturer0
	Serial Number: SerNum0
	Asset Tag: AssetTagNum0
	Part Number: PartNum0

Handle 0x0038, DMI type 17, 27 bytes
Memory Device
	Array Handle: 0x0034
	Error Information Handle: Not Provided
	Total Width: 64 bits
	Data Width: 64 bits
	Size: 2 GB
	Form Factor: DIMM
	Set: None
	Locator: DIMM1
	Bank Locator: BANK1
	Type: Other
	Type Detail: Synchronous
	Speed: 1333 MT/s
	Manufacturer: Manufacturer1
	Serial Number: SerNum1
	Asset Tag: AssetTagNum1
	Part Number: PartNum1

Handle 0x003A, DMI type 17, 27 bytes
Memory Device
	Array Handle: 0x0034
	Error Information Handle: Not Provided
	Total Width: 64 bits
	Data Width: 64 bits
	Size: 4 GB
	Form Factor: DIMM
	Set: None
	Locator: DIMM2
	Bank Locator: BANK2
	Type: Other
	Type Detail: Synchronous
	Speed: 1333 MT/s
	Manufacturer: Manufacturer2
	Serial Number: SerNum2
	Asset Tag: AssetTagNum2
	Part Number: PartNum2

Handle 0x003C, DMI type 17, 27 bytes
Memory Device
	Array Handle: 0x0034
	Error Information Handle: Not Provided
	Total Width: 64 bits
	Data Width: 64 bits
	Size: 2 GB
	Form Factor: DIMM
	Set: None
	Locator: DIMM3
	Bank Locator: BANK3
	Type: Other
	Type Detail: Synchronous
	Speed: 1333 MT/s
	Manufacturer: Manufacturer3
	Serial Number: SerNum3
	Asset Tag: AssetTagNum3
	Part Number: PartNum3


LINUX-ORG-RU ★★★★★
()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)
Ответ на: комментарий от LINUX-ORG-RU

а то я не пойму у меня двухканал или нет.

Из dmidecode это не выяснить, насколько я знаю. Можно определить каким-нибудь бенчмарком памяти.

Самое простое - это через memtest. Ставишь одну планку, запускаешь memtest и смотришь пропускную способность. Потом ставишь вторую планку, снова запускаешь memtest и смотришь пропускную способность.

Впрочем, memtest вроде cpu-limited, так что не слишком надежный показатель. Но все же если в нем ты видишь, что с двумя планками у тебя значительно выше пропускная способность, то у тебя явно двухканал.

Kron4ek ★★★★★
()
Последнее исправление: Kron4ek (всего исправлений: 1)
Ответ на: комментарий от LINUX-ORG-RU

У тебя в матери слоты должны быть помечены цветом, разные каналы разного цвета. По идее, нужно одну пару 4 GB + 2 GB вставить в один цвет, а вторую пару 4 GB + 2 GB в другой цвет.

Но это по логике, а так лучше в документацию к материнке заглянуть, там обычно пишут про установку памяти.

Kron4ek ★★★★★
()
Ответ на: комментарий от Kron4ek

Вопщем расклад такой. Посмотрел мануал, у меня было всё правильно, но с нюансами, первое оставил только 2 плашки по 4 гига, скорости выросли, потом нашёл плашку ещё на 4 гига вместо двух плашек по 2гига, ещё выросло немножко, потом догнал частоту процессора с 2800Мг до 3080Мг и частоту с 1333 до чуть выше 1400(не помню точно) И сейчас всё так 3 плашки по 4 гига вместо 4х плашек две по 4 две по 2 гига. И в попугаях

Было изначально с 4мя плашкам 2x4 2x2

10240.00 MiB transferred (4665.39 MiB/sec)

Стало с 3мя плашками 3x4

10240.00 MiB transferred (5292.88 MiB/sec)

И ещё промежуточный тест был 2 плашки по 4гига и всё в одноканале Было

Function    Best Rate MB/s  Avg time     Min time     Max time
Copy:            5069.5     0.032529     0.031561     0.037393
Scale:           5104.2     0.031747     0.031347     0.033496
Add:             5603.8     0.043014     0.042828     0.043371
Triad:           5600.3     0.044416     0.042855     0.049368

Стало с тремя плашками по 4 гига

Function    Best Rate MB/s  Avg time     Min time     Max time
Copy:            6834.9     0.025011     0.023409     0.028248
Scale:           6818.1     0.024711     0.023467     0.029558
Add:             7436.5     0.033316     0.032273     0.037084
Triad:           7429.2     0.033471     0.032305     0.036406

Как то так, сейчас всё на сток спущу ещё разок до 2800 на процессоре и 1333 на памяти и ещё раз гляну чисто для статистики, хотя может на сток и верну если разница не будет шибко большой.

По итогу всё было у меня нормально но три плашки по 4гига быстрее чем 4 плашки две по 2 две по 4гига.

Ещё бы достать где одну плашку на 4 такуюже как у меня (ну по характеристикам) и будет идеально. Как-то так.

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от Kron4ek

Ага, если будет потещу ещё, там ещё момент с 4мя плашками две по 2 две по 4 завелось 1600 на память вместо 1333, тайминги/напряжение выставилось автоматом, скорость на какие то копейки выросла, а в некторых тестах (я всё подряд гонял) даже просела. С тремя плашками на 4 гига 1600 память завелась, но на GRUB всё зависло.

И ещё я на 3080MHz CPU и 1465 на RAM прогнал cat /dev/zero > /dev/null 10 минут проц нагрелся до 51 градуса, сейчас я сбросил частоты процессора на 2800 и памяти на 1333 чистый сток дефолт абсолютный опять «стресс тест» и 48 на процессоре максимальная температура и показания такие

Function    Best Rate MB/s  Avg time     Min time     Max time
Copy:            5256.8     0.030889     0.030437     0.032313
Scale:           5187.2     0.031558     0.030845     0.033394
Add:             5679.4     0.042995     0.042258     0.044883
Triad:           5692.7     0.043040     0.042159     0.046609

10240.00 MiB transferred (4240.15 MiB/sec)

Пусть медленнее, зато проц холоднее. При разгоне что выше 38 в простое и 42 при любой нагрузке, а так без разгонов 34~35 градуса при просмотре ютуба в фулхд при том что всё на процессоре считается.

Суть, при 4 плашках 2 по 2гб и 2 по 4гб при 1600 на памяти и 2800 на процессоре всё медленее чем при 1465 на памяти и 3080 на процессоре. А на стоке 1333 и 2800 всё более менее при 3 по 4гб.

А ксго как лагала так и лагает на всех настройках :D На глаз профита особо нету.

К делу всё это не особо относится, но так, на потом.

LINUX-ORG-RU ★★★★★
()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 3)