LGA проти PGA: чому контакти переїхали на материнську плату

Було корисно?

Машина не проходить POST. Або ще гірше: вона стартує, але показує лише половину оперативної пам’яті, один слот PCIe зникає,
і в логах — купа виправлених помилок пам’яті, ніби система намагається допомогти, але тоне.
Хтось каже «пошкоджений CPU». Хтось інший — «пошкоджена плата». Тим часом ви дивитесь на вікно обслуговування,
яке випаровується.

Під цією драмою ховається дуже фізичне рішення: де мають жити крихкі контакти — на процесорі (PGA) чи в розетці на платі (LGA)?
Галузь перемістила контакти на плату з нудних, але жорстких причин: щільність, електричні характеристики, технологічність виготовлення
і той факт, що фізика не переймається вашими почуттями. Зробімо це рішення зрозумілим і допоможемо вам швидше діагностувати реальні відмови.

LGA vs PGA на одній сторінці: терміни, анатомія і що насправді торкається чого

PGA (Pin Grid Array)

У PGA корпус процесора має масив виступаючих контактів (пінів). Материнська плата має розетку з відповідними отворами
(і внутрішніми пружинними контактами), які охоплюють ці піни.
Ви кладете процесор, закриваєте важіль (ZIF: механізм з нульовою силою вставлення), і розетка фіксує піни.

Користувацька перевага PGA очевидна: розетка на платі переважно пасивний пластиково-металевий вузол.
Якщо ви пошкодите піни, їх можна спробувати вирівняти. Якщо ви «знищите» саму розетку,
доведеться купувати нову плату. Але PGA робить «пошкодження» частіше проблемою CPU.

LGA (Land Grid Array)

У LGA низ корпусу CPU має плоскі контакти (пади). Розетка на платі містить пружинні контакти, які
притискаються до цих падів. Плита розвантаження та важіль створюють затискну силу, щоб тиск контакту
був рівномірним по сотням або тисячам контактів.

Перевага LGA переважно невидима, доки ви не запустите швидкі шини та високу кількість ядер:
вона підтримує більшу кількість контактів і кращі електричні характеристики на високих частотах.
Компроміс у тому, що крихкі елементи (піни) тепер живуть на материнській платі. Якщо їх зігнути,
можливо доведеться замінювати плату, яка коштує більше, ніж процесор, який ви намагалися «врятувати».

Що таке «піни» насправді: контакти, а не магія

Незалежно від PGA чи LGA, електрична задача однакова: контрольований, низькоомний контакт із прогнозованою
індуктивністю та ємністю, стійкий до температурних циклів, вібрації та часу.
Сучасні платформи потребують цього для:

  • живлення та землі (велика частина «пінів» — це просто шляхи для струму і повернення).
  • швидкісних серійних ліній (PCIe, UPI/QPI, інтерконекти на кшталт Infinity Fabric).
  • каналів пам’яті (DDR4/DDR5: чутливих до таймінгів і шуму).
  • сигналів супроводу (SMBus, інтерфейс SPI flash, налагодження, управління).

Ви не «втратили пін». Ви втратили функцію: канал пам’яті, набір PCIe-ліній, шинку управління або стабільність під навантаженням.
Ось чому відмова виглядає як програмна, поки не стає зрозумілою апаратною.

Чому контакти переїхали: щільність, цілісність сигналу і механічна реальність

Щільність контактів: тихий диктатор

Кількість з’єднань, які потребує сучасний CPU, вибухнула. Не тому, що маркетологи хотіли більших розеток,
а тому, що фізика вимагала більше подачі живлення й більше I/O. Велика кількість ядер і високий турбо-потік
потребують серйозного струму. Струм потребує металу. Металу потрібна площа. Площі потрібні контакти.

У PGA є практичні обмеження: крок піна (відстань між пінами) не може нескінченно зменшуватись без того, щоб піни не стали
занадто крихкими, занадто легкими для згинання або надто схильними до замикань. Розетки LGA можуть щільніше упакувати контакти,
бо «пін» — це пружинний елемент у точно виготовленій розетці, а CPU має просто пади.
Корпус CPU не потребує виступаючих голок, які повинні пережити транспортування, обробку й установку.

Цілісність сигналу: на високих швидкостях геометрія — це політика

Коли шини працюють у багатогігагерцовому діапазоні, форма контакту має значення. Не в академічному сенсі.
У сенсі «ваш PCIe-канал навчиться на Gen4 замість Gen5 і пропускна здатність звалиться» — отак.
LGA зазвичай дає кращий контроль над:

  • індуктивністю: коротші, пласкі структури контакту зменшують індуктивні ефекти.
  • послідовністю імпедансу: розетки інженерно забезпечують чистіші переходи.
  • шляхами повернення: більше контактів землі і кращий їх розподіл покращують запаси по шуму.
  • перехресними перешкодами (crosstalk): жорсткіший контроль взаємного зв’язку сусідніх ліній зберігає «відкритість ока» сигналу.

PGA-піни — маленькі антени. Вони можуть працювати добре, але зі зростанням швидкостей та щільності «добре» починає вимагати занадто багато інженерії.

Подавання живлення: більше землі, ніж здається

Сучасні CPU споживають великі, швидко змінні струми. Корпус і розетка повинні доставляти живлення з низьким імпедансом у широкому діапазоні частот.
Це означає багато контактів живлення/заземлення, розподілених по розетці, щоб зменшити локальні гарячі точки та падіння напруги.
LGA полегшує виділення величезної кількості контактів і збереження механічної надійності.

Механічне навантаження та надійність контакту

Розетки LGA використовують плиту розвантаження та важіль для прикладання визначеної сили. Ця сила важлива: занадто мала —
отримуєте переривчасті контакти (найгірший вид). Занадто велика — ризикуєте вигином плати або пошкодженням розетки.
У добре спроектованій LGA-системі тиск рівномірний і прогнозований. Це важко гарантувати для PGA з великою кількістю піна без того, щоб вставлення і фіксація не стали кошмаром.

Перший короткий жарт (як і обіцяли, їх два): Розетка LGA схожа на зчитувач пропусків у дата-центрі — торкнися падів ідеально або нічого не станеться, і вона назавжди запам’ятає твої помилки.

Виробництво й вихід придатних виробів: яку сторону дешевше захищати?

Це те, про що інженери не завжди говорять вголос перед замовниками: зміщення крихкої геометрії з CPU в розетку змінює економіку.
CPU — дорогі, високовартісні елементи. Материнські плати теж дорогі, але розетки можна інтегрувати в виробництво плат і тестувати інакше.

З LGA нижня частина CPU — плоский масив падів, який легше захистити кришкою і який менш імовірно зігнеться під час транспортування.
Крихкі піни знаходяться на платі, зазвичай захищені кришкою розетки до установки. На полі це зміщує відмови в бік «обробки під час встановлення», а не «пошкодження при доставці». Це не милосердно. Це контрольованіше.

Цікаві факти та історичний контекст (9 коротких пунктів)

  1. Intel на масових платформах перейшла на LGA в середині 2000-х (ера LGA775), через зростання кількості контактів і потреб у подачі живлення.
  2. AMD довше трималася за PGA на споживчих платформах (наприклад, AM2/AM3/AM4), частково через довговічність роз’єму і стабільність екосистеми.
  3. Серверні сокети рано пішли на великі LGA, бо мульти-сокетні інтерконекти і більше каналів пам’яті вимагають багато контактів.
  4. Більшість контактів — не «сигнали»: велика частка призначена під живлення і землю для керування струмами та шумом.
  5. LGA дозволяє щільніший крок, бо пружинний контакт розетки можна виготовляти з більш тими термами, ніж виступаючі піни CPU.
  6. Кришки розеток існують не просто так: залишати розетку LGA відкритою під час обробки — практично запрошення до механічної біди.
  7. Покриття контактів має значення: золоте покриття та матеріали пружин підбирають, щоб мінімізувати корозію і зберегти сталість опору контакту при циклічних підключеннях.
  8. «Відсутній канал пам’яті» — класичний симптом проблеми з контактом: один або кілька адресно/даних/керуючих контактів не контактують правильно.
  9. Невдачі тренування PCIe між поколіннями можуть бути спричинені маргінальними контактами; лінк знижується до швидкості, яка «працює», але тихо шкодить пропускній здатності.

Неприємна правда: LGA кращий для продуктивності; PGA — більш прощаючий для людей

Якщо ви проектуєте платформу з високою щільністю I/O і великим споживанням, LGA — прагматичний вибір.
Якщо ви технік, який міняє CPU у поспіху, PGA дружніший — бо ваш ворог тут не розетка і її мікроскопічні пружинні піни, а ваші власні руки.

Режими відмов, які мають значення в продукції

Зігнуті піни LGA: кошмар «він стартує, але…»

Пошкодження LGA часто є частковим. Декілька контактів не торкаються, і система все одно вмикається.
Тепер ви в країні дивностей:

  • Відсутній один канал пам’яті, або пам’ять працює на нижчій частоті.
  • Пристрої PCIe зникають або знижують швидкість (Gen5 → Gen4 → Gen3).
  • Machine Check Exceptions (MCE) під навантаженням, особливо при великій пам’яті.
  • Випадкові перезавантаження, що корелюють з температурою або вібрацією.
  • Спорадичні I/O помилки, що виглядають як «поганий NVMe», але такими не є.

Причина: ці піни не просто „зайві“. Вони часто згруповані за функціями. Втрата кластера приносить втрату групи ліній або каналу. Втрата опори землі руйнує цілісність сигналу.

Зігнуті піни PGA: драматично, помітно і іноді виправно

Відмови PGA зазвичай більш очевидні. Пін згинається, CPU не сідає, або він сідає, але контакт не стикується правильно. Можна побачити:

  • Немає POST, або POST із чіткими кодами помилок.
  • CPU не виявляється.
  • Пам’ять не визначається, подібно до LGA, але часто з більшою загальною відмовою.

І так — іноді піни можна випрямити. Ризик — мікротріщини та наклеп металу. Ви робите їх «прямими», вони проходять швидкий завантаження, а потім падають через шість тижнів після термоциклів.
Це той вид «заощаджених грошей», що обертається витратами.

Опір контакту та забруднення

Пил, шкіряні олії, міграція термопасти та корозія можуть збільшити опір контакту.
У LGA пружинні піни проектують так, щоб вони трохи змивали шар із паду і ламали плівки, але це не магія. У серверах багато повторних пересаджувань також може зношувати покриття.

Вигин плати і тиск кріплення: охолоджувач може бути лиходієм

Перетягнуті радіатори, нерівний монтаж або відсутні підсилювальні пластини можуть вигнути материнську плату і змінити розподіл тиску контактів.
Система може проходити легке навантаження і відвалюватись під важким AVX або інтенсивним трафіком пам’яті, бо маргінальні контакти стають ще більш маргінальними при нагріванні.

«Це процесор» проти «це розетка»: як мислити як SRE

CPU статистично надійніші. Розетки і обробка — менш. У польових інцидентах припускайте:

  • Спочатку конфігурацію та прошивку.
  • Далі пам’ять і подачу живлення.
  • Проблеми контактів розетки, коли симптоми відповідають конкретним каналам/групам ліній або змінюються після пересадки.

Діагностуйте перед тим, як міняти. Міняти легко. Пояснювати, чому ви поміняли не ту дорогу річ — складніше.

Швидкий план діагностики: знайдіть вузьке місце перед тим, як міняти деталі

Це робочий процес, що виграє, коли час підтискає. Ви не намагаєтеся бути хитрим; ви намагаєтеся бути швидко правильним, з доказами.

Перше: встановіть, що змінилося і що відсутнє

  1. Перевірте POST/логи прошивки на наявність інформації про розміщення пам’яті, тренування PCIe, помилки CPU.
  2. Підтвердіть інвентар: модель CPU, мікрокод, BIOS, схема DIMM, очікувані пристрої PCIe.
  3. Шукайте асиметрію: відсутність конкретного каналу, відсутність конкретного root-порту PCIe — це кричить «контакт або група ліній».

Друге: класифікуйте тип відмови

  1. Немає POST: живлення, відсутність CPU, катастрофічне пошкодження розетки, неправильний BIOS або коротке замикання.
  2. POST, але деградовано: відсутні канали/лінії, downtrained PCIe, виправлені помилки — часто контактна проблема або зігнуті піни.
  3. Падає тільки під навантаженням: маргінальний контакт, нестабільність VRM, термальні або налаштування прошивки.

Третє: доведіть або виключіть проблеми розетки/контактів

  1. Пересадіть CPU і охолоджувач з правильним моментом затягування.
  2. Огляньте розетку під збільшенням і під кутовим світлом.
  3. Поставте завідомо робочі DIMM у слоти «відсутнього» каналу; якщо канал лишається відсутнім — це не DIMM.
  4. Перевірте, чи змінюється поведінка з іншими PCIe-пристроями/слотами; стійка відсутність root-порту вказує на мапінг CPU socket.

Четверте: тільки потім міняйте дорогі деталі

Якщо ви не можете зробити платформу послідовною після акуратної пересадки й інспекції, вирішіть, що замінювати —
материнську плату (ризик LGA) чи CPU (ризик PGA) — базуючись на тому, що фізично під загрозою і що легше перевірити.

Практичні завдання: команди, виводи та рішення (12+)

Це Linux-завдання, які ви можете виконати навіть коли не впевнені, «апаратна» це чи «програмна» відмова.
Кожне завдання включає: команду, що означає вивід, і яке рішення це дозволяє прийняти.
Мета — перетворити туманні симптоми в гіпотезу на рівні розетки.

Завдання 1: Підтвердити модель CPU, stepping і завантажений мікрокод

cr0x@server:~$ lscpu | egrep 'Model name|Socket|Thread|Core|CPU\(s\)|Stepping'
CPU(s):                               64
Model name:                           Intel(R) Xeon(R) Gold 6338 CPU @ 2.00GHz
Core(s) per socket:                   32
Thread(s) per core:                   2
Socket(s):                            1
Stepping:                             6

Значення: Якщо кількість сокетів/ядер/потоків не співпадає з тим, що ви купили — зупиніться. Це може бути налаштування BIOS,
відключені ядра або некоректна детекція CPU.
Рішення: Якщо кількість CPU неправильна, віддайте пріоритет логам BIOS/POST і фізичній пересадці перед налаштуваннями OS.

Завдання 2: Перевірити, чи ядро бачить обсяг пам’яті і NUMA-топологію

cr0x@server:~$ numactl --hardware
available: 1 nodes (0)
node 0 cpus: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
node 0 size: 196355 MB
node 0 free: 182904 MB
node distances:
node   0 
  0:  10

Значення: Несподівані NUMA-вузли або обсяг пам’яті значно нижчий за встановлений часто вказують
на відсутні канали пам’яті або відключені слоти DIMM.
Рішення: Якщо пам’ять занижена, зіставте це з інвентарем DMI; якщо слоти «порожні», хоча фізично встановлені, підозрюйте контакт розетки/каналу.

Завдання 3: Інвентаризація слотів DIMM через DMI

cr0x@server:~$ sudo dmidecode -t memory | egrep -A5 'Memory Device|Locator:|Bank Locator:|Size:|Speed:|Configured Memory Speed:'
Memory Device
	Locator: DIMM_A1
	Bank Locator: P0_Node0_Channel0_Dimm0
	Size: 32768 MB
	Speed: 3200 MT/s
	Configured Memory Speed: 3200 MT/s
--
Memory Device
	Locator: DIMM_B1
	Bank Locator: P0_Node0_Channel1_Dimm0
	Size: No Module Installed
	Speed: Unknown
	Configured Memory Speed: Unknown

Значення: «No Module Installed» у слоту, який ви точно засунули, — великий підказка. Якщо цілі слоти каналу читаються порожніми, це не випадковість.
Рішення: Якщо відсутній увесь канал, плануйте пересадку CPU і інспекцію розетки; заміна DIMM не поверне електрично відсутній канал.

Завдання 4: Пошук помилок контролера пам’яті (MCE/EDAC)

cr0x@server:~$ sudo journalctl -k | egrep -i 'mce|machine check|edac|hardware error' | tail -n 20
Jan 09 10:12:41 server kernel: EDAC sbridge MC0: HANDLING MCE MEMORY ERROR
Jan 09 10:12:41 server kernel: mce: [Hardware Error]: Machine check events logged
Jan 09 10:12:41 server kernel: EDAC MC0: 1 CE memory read error on CPU_SrcID#0_Channel#2_DIMM#0 (channel:2 slot:0 page:0x12345 offset:0x0 grain:32 syndrome:0x0)

Значення: Кориговані помилки, зосереджені на одному каналі або DIMM, можуть бути проблемою DIMM, але також маргінальним
контактом каналу (піни розетки, що відповідають за цей канал).
Рішення: Якщо помилки тримаються на одному каналі після перестановки DIMM, ескалюйте до питання посадки CPU/розетки, а не звинувачуйте «партію пам’яті».

Завдання 5: Перевірити ширину та швидкість лінку PCIe (виявити downtraining)

cr0x@server:~$ sudo lspci -vv -s 3b:00.0 | egrep -i 'LnkCap:|LnkSta:'
LnkCap:	Port #0, Speed 16GT/s, Width x16, ASPM L1, Exit Latency L1 <64us
LnkSta:	Speed 8GT/s (downgraded), Width x8 (downgraded)

Значення: Пристрій здатний x16 на більшій швидкості, але працює повільніше/вужче. Це може бути:
маргінальна цілісність сигналу, проблеми з контактом ліній, проблеми з riser або налаштування BIOS, що примушує сумісність.
Рішення: Якщо downtraining стабільний, але несподіваний, перевірте фізичну посадку і тиск кулера/розетки; якщо він «хиткий» (змінюється при перезавантаженнях), підозрюйте маргінальність контакту.

Завдання 6: Зіставити топологію PCIe до root-портів (знайти відсутні групи)

cr0x@server:~$ lspci -tv
-+-[0000:00]-+-00.0  Intel Corporation Device 1234
 |           +-01.0-[01]----00.0  Broadcom / LSI SAS3008 PCI-Express Fusion-MPT SAS-3
 |           +-1d.0-[3b]----00.0  NVIDIA Corporation Device 1eb8
 |           \-1f.6  Intel Corporation Ethernet Connection (7) I219-LM

Значення: Якщо очікуваний root-порт або downstream-пристрій відсутні повністю — це вже не проблема драйвера.
Це проблема, коли перерахування не відбувається.
Рішення: Відсутність цілих гілок після торкання CPU/кулера сильно натякає на посадку/розетку CPU чи зігнуті піни, що впливають на root-complex PCIe.

Завдання 7: Перевірити помилки NVMe, які насправді проблеми лінку

cr0x@server:~$ sudo dmesg | egrep -i 'nvme|pcie|AER|link down|corrected error' | tail -n 30
[   92.112233] pcieport 0000:00:1d.0: AER: Corrected error received: 0000:00:1d.0
[   92.112240] pcieport 0000:00:1d.0: PCIe Bus Error: severity=Corrected, type=Physical Layer, (Receiver ID)
[   92.112244] pcieport 0000:00:1d.0:   device [8086:1234] error status/mask=00000001/00002000
[   92.112250] pcieport 0000:3b:00.0: AER: Corrected error received: 0000:3b:00.0
[   92.112256] nvme nvme0: Abort status: 0x371

Значення: AER Physical Layer corrected errors разом з abort NVMe-команд можуть бути маргінальним PCIe-лінком.
Це може бути кабель/riser/пристрій, але також і проблеми контакту CPU на відповідній групі ліній.
Рішення: Якщо помилки зникають після пересадки або змінюються з моментом затяжки кулера — перестаньте звинувачувати SSD.

Завдання 8: Підтвердити режим ECC та швидкість пам’яті (бічний ефект BIOS)

cr0x@server:~$ sudo dmidecode -t memory | egrep -i 'Type:|Type Detail:|Error Correction Type:|Configured Memory Speed:' | head -n 20
	Error Correction Type: Multi-bit ECC
	Type: DDR4
	Type Detail: Synchronous Registered (Buffered)
	Configured Memory Speed: 2666 MT/s

Значення: Якщо конфігурована швидкість нижча за очікувану по всіх DIMM, BIOS міг переключитися в режим «безпечного» тренування після невдач.
Іноді це «безпечний режим» після проблем під час завантаження; іноді це реальна маргінальність.
Рішення: Якщо швидкість знизилася після фізичного втручання, спочатку виправте посадку; потім очистіть помилки тренування (залежить від платформи); зафіксуйте через dmidecode і бенчмарки.

Завдання 9: Перевірити тротлінг CPU і термальні ліміти (проблеми з тиском кулера тут видно)

cr0x@server:~$ sudo turbostat --Summary --quiet --interval 1 --num_iterations 3
Average:	CPU     Avg_MHz	Busy%	Bzy_MHz	TSC_MHz	PkgTmp	PkgWatt
Average:	all     2100	45.32	4632	2000	92	195.12

Значення: Висока температура корпуса і велика потужність з нестабільною частотою вказують на термальні або енергетичні ліміти.
Погано змонтований кулер може спричинити гарячі плями і дивну нестабільність, що виглядає як «поганий силікон».
Рішення: Якщо температури високі відразу після обслуговування, перемонтуйте кулер з правильним моментом і коректним шаром пасти перед покращенням налаштувань прошивки.

Завдання 10: Нагрузкове тестування для відтворення в контрольований спосіб (не гадати)

cr0x@server:~$ stress-ng --cpu 32 --vm 4 --vm-bytes 75% --timeout 120s --metrics-brief
stress-ng: info:  [2417] dispatching hogs: 32 cpu, 4 vm
stress-ng: metrc: [2417] stressor       bogo ops real time  usr time  sys time   bogo ops/s
stress-ng: metrc: [2417] cpu             84512    120.02   3790.11     21.43      704.1
stress-ng: metrc: [2417] vm               9123    120.01    457.33    210.88       76.0
stress-ng: info:  [2417] successful run completed in 120.02s

Значення: Якщо відмова відбувається лише при комбінованому CPU+пам’ять навантаженні — підозрюйте маргінальні контакти, VRM або термальні проблеми, а не «баг драйвера».
Рішення: Використовуйте це, щоб відтворити після кожної зміни (пересадка, заміна DIMM, зміна BIOS). Якщо підписка падіння змінюється — ви звузили коло підозрюваних.

Завдання 11: Перевірити повідомлення про апаратні помилки типу WHEA на Linux (тренд MCE)

cr0x@server:~$ sudo mcelog --client
hardware event: corrected memory error
status: 0x9c20400000010091
misc: 0x0
addr: 0x0000000123456780
mcgstatus: 0x0

Значення: Повторювані виправлені помилки — це не «гаразд». Це попереджувальний сигнал.
Рішення: Якщо кількість виправлених помилок зростає після пересадки CPU/кулера, ймовірно ви погіршили тиск контакту; поверніть попередні кроки і пересадіть обережно.

Завдання 12: Переконатися, що «сповільнення» сховища — не тренування лінку CPU

cr0x@server:~$ sudo nvme list
Node             SN                   Model                                    Namespace Usage                      Format           FW Rev
/dev/nvme0n1     S5X0NX0R123456       ACME NVMe Gen4 SSD 3.84TB                1         3.84  TB /   3.84  TB    512   B +  0 B   3B2QEXM7
cr0x@server:~$ sudo nvme smart-log /dev/nvme0 | egrep -i 'media_errors|num_err_log_entries|warning_temp_time'
media_errors                    : 0
num_err_log_entries             : 3
warning_temp_time               : 0

Значення: Чисті помилки носія, але наявність записів у журналі плюс AER у dmesg підказують флікованість на рівні лінку, а не смерть NAND.
Рішення: Якщо повільність сховища корелює з downtraining PCIe (Завдання 5), розгляньте шлях CPU/PCIe як первинного підозрюваного перед RMA дисків.

Завдання 13: Підтвердити версію BIOS/UEFI з ОС (коли підозрюєте регрес тренування)

cr0x@server:~$ sudo dmidecode -t bios | egrep -i 'Vendor:|Version:|Release Date:'
Vendor: American Megatrends International, LLC.
Version: 2.6.1
Release Date: 08/14/2024

Значення: Оновлення BIOS може змінити поведінку тренування пам’яті та за замовчуванням рівні еквалізації PCIe.
Рішення: Якщо симптоми з’явилися після оновлення BIOS, розгляньте відкат або застосування рекомендованих налаштувань постачальника; але не дозволяйте прошивці бути козлом відпущення для фізично пошкодженої розетки.

Завдання 14: Виявити відсутні переривання/пристрої, що вказують на «мертвий» root-complex

cr0x@server:~$ cat /proc/interrupts | head -n 12
           CPU0       CPU1       CPU2       CPU3
  0:         22          0          0          0   IO-APIC   2-edge      timer
  1:          2          0          0          0   IO-APIC   1-edge      i8042
 24:     182993          0          0          0   PCI-MSI 524288-edge   eth0
 25:          0          0          0          0   PCI-MSI 1048576-edge  nvme0q0

Значення: Лінії переривань, що застрягли на нулі для активного пристрою, можуть означати, що пристрій фактично не активний,
або він заблокований через проблеми лінку.
Рішення: Поєднуйте з lspci і dmesg. Якщо пристрій є, але ніколи не генерує переривань під навантаженням, PCIe-шлях може бути нестабільним (riser, слот або група ліній CPU).

Три корпоративні міні-історії з передової

Міні-історія 1: Інцидент від хибного припущення

Команда випустила партію нових вузлів для сервісу з низькою латентністю. Тест прийняття був простий: завантажитися, приєднатися до кластера, запустити коротке синтетичне навантаження і відправляти.
Через два дні підмножина вузлів почала повідомляти про періодичні таймаути сховища. Усі зациклилися на NVMe-дисках, бо логи були повні I/O помилок, а інструмент здоров’я вендора мовчав.

Хибне припущення: «Помилки сховища означають, що сховище зламане». Це зручна історія, бо звужує зону відповідальності. Міняємо диск — і рухаємося далі. Але заміна дисків не допомогла. Ті самі вузли продовжували флікатися.

Один SRE нарешті подивився на стан тренування PCIe по вузлах і помітив закономірність: проблемні вузли мали лінки, що працювали на зниженій ширині і швидкості, і AER corrected errors різко зростали під навантаженням. Сервіс був нормальний у спокої. Під трафіком PCIe-система ставала “шумною”.

Винуватцем виявилась механіка: ці вузли були перероблені на столі, де хтось знімав кулер, щоб «перевірити пасту», і швидко ставив назад. Тиск монтажу кулера був нерівний, і тиск контактів LGA на піни, що стосувалися PCIe, став маргінальним. Пересадка CPU і акуратний момент затяжки вирішили проблему. Без заміни деталей.

Урок жорсткий: не припускайте, що підсистема, яка падає, — це зламана компонента. У LGA проблема контакту розетки може маскуватися під половину вашого апаратного інвентарю.

Міні-історія 2: Оптимізація, що повернулась бумерангом

Команда платформи хотіла швидшого обслуговування ремонту. Вони ввели «ефективність»: попередньо нанести шаблони термопасти і затягувати радіатори електровикруткою з «безпечним» моментом.
Лінія ремонту стала швидшою і більш передбачуваною — на папері.

За місяць з’явилась невелика кількість вузлів з конкретним патерном: після перезавантаження відсутній один канал пам’яті.
Вузли працювали в конфігурації з меншою пам’яттю, тому проблема пропускала початкові перевірки.
Згодом робочі навантаження, налаштовані на пропускну здатність пам’яті, почали втрачати SLO.

Розслідування виявило дві проблеми. По-перше, муфта електровикрутки не була відкалібрована і змінювалася з рівнем заряду батареї. По-друге, шаблони пасти іноді давали товщий шар, що змінював розподіл тиску після термоциклів. Контакти розетки LGA опинилися нерівномірно притиснутими, і кілька пінів у ураженому каналі опинились на межі.

Виправлення було негарним: ручний момент затягування з каліброваним драйвером, нанесення пасти за вагою/об’ємом за специфікацією і валідація після ремонту, яка явно перевіряла наявність та швидкість каналів пам’яті. Пропускна здатність повернулась.

Оптимізація — класна річ. Необміркована оптимізація створює новий клас «примарних апаратних відмов».

Міні-історія 3: Нудна, але правильна практика, що врятувала

Компанія експлуатувала змішані робочі навантаження на флоті, що включав старі вузли. Відмови траплялись, але ними керували, бо команда виконувала нудний ритуал: кожна операція з CPU мала документований чекліст,
а кожна вийнята розетка LGA мала негайно отримувати захисну кришку. Без винятків. Люди скаржились.

Одного тижня під час апгрейду найняли контрактника. Він був компетентний, але не знав про «одержимість кришками розеток». Під час зміни плата лежала без кришки на антистатичному килимку, поки сортували деталі. Хтось провів по ній рукавом. Нічого драматичного. Ніяких іскр. Ніяких хрускотів.

Чекліст зловив це. Технік, що збирав назад, оглянув розетку під збільшенням перед установкою CPU і помітив невелике зміщення пінів. Оскільки правило кришок дотримувалось всюди, це одне виняток кинулося в очі. Плату ізолювали, і батарея контрактника не пішла в продакшн.

Плату пізніше підтвердили як з зігнутим кластером пінів, що, ймовірно, дала б відмову «завантажується, але відсутня пам’ять». Замість цього отримали нудний тикет і контрольовану заміну.

Другий короткий жарт (на цьому все): Кришка розетки — це маленький пластиковий капелюх, що не дає вашій материнській платі вивчати імпровізаційний танець з пінцетом.

Типові помилки: симптом → корінна причина → виправлення

1) Після обслуговування показується лише половина пам’яті

Симптом: ОС повідомляє значно менше RAM; dmidecode показує «No Module Installed» для цілого каналу.

Корінна причина: CPU не сідає рівно, нерівномірний момент затягування кулера або зігнуті піни LGA, пов’язані з тим каналом.

Виправлення: Вимкніть живлення, зніміть кулер, огляньте розетку під збільшенням і під кутовим світлом; пересадіть CPU; нанесіть пасту; затягніть кулер по хресту згідно специфікації; перевірте наявність каналу в BIOS і ОС.

2) PCIe-пристрій раптово зникає або лінк знижується

Симптом: lspci періодично не бачить пристрій; lspci -vv показує понижені ширину/швидкість; AER помилки в dmesg.

Корінна причина: Маргінальний контакт лінії (проблема пінів розетки), забруднення riser/слота, або вигин плати через кулер/креплення.

Виправлення: Пересадіть пристрій і riser; перевірте стан лінку; якщо проблема постійна для одного root-порту — огляньте розетку CPU і перемонтуйте кулер з правильним моментом.

3) Випадкові перезавантаження тільки під сильним навантаженням

Симптом: Стабільно на холостому ходу, падає під stress-ng або реальним навантаженням; можуть з’являтися MCE.

Корінна причина: Маргінальний тиск контакту що погіршується з термічним розширенням; нестабільність VRM або подачі живлення; агресивні налаштування BIOS.

Виправлення: Перевірте термальні показники; перемонтуйте кулер; поверніть BIOS до відомих робочих налаштувань; перевірте MCE/EDAC; якщо помилки корелюють з каналом пам’яті — вважайте контакт розетки основною підозрою.

4) «CPU помер» після заміни, але старий CPU працює в іншій платі

Симптом: Новий CPU не POST-ить у платі; працює в іншій; плата падає з кількома CPU.

Корінна причина: Пошкодження розетки (зігнуті піни LGA), сміття в розетці, або неправильний BIOS для цього stepping CPU.

Виправлення: Огляньте розетку; перевірте підтримку BIOS; не зажимайте повторно CPU в підозрілу розетку — кожний цикл ризикує спричинити більше шкоди.

5) Швидкість пам’яті падає по всій платі після «дрібного» сервісу

Симптом: Конфігурована швидкість пам’яті нижча за очікувану на всіх DIMM; регресія продуктивності.

Корінна причина: BIOS перейшов у safe-mode тренування після помилок, або маргінальне тренування через проблеми контакту.

Виправлення: Спочатку виправте фізичну посадку; потім очистіть помилки тренування (платформо-специфічно); повторно перевірте через dmidecode і бенчмарки.

6) Ви вирівнюєте піни PGA і це працює… поки не перестане

Симптом: Відремонтований CPU завантажується; згодом з’являються спорадичні помилки.

Корінна причина: Наклепані або мікротріщинні піни; контакт електрично маргінальний під термоциклом.

Виправлення: Розглядайте «вирівняні» CPU як тимчасові. У продукції їх треба замінити; не використовуйте такі CPU в критичних системах.

Чеклісти / покроковий план

Покроково: безпечне видалення та встановлення CPU (фокус на LGA)

  1. Плануйте валідацію: вирішіть заздалегідь, що означає «добре» (очікуваний обсяг RAM, канали, пристрої PCIe, швидкості лінків).
  2. Вимкніть живлення правильно: коректне завершення роботи, потім відключення живлення і чекання розряду стендбай-рейлів згідно рекомендацій платформи.
  3. ESD-дисципліна: заземлювальний браслет, заземлений килимок, уникайте синтетичного одягу, що любить статичну електрику.
  4. Знімайте кулер рівномірно: послабляйте гвинти по хресту, щоб уникнути прокручування CPU в розетці.
  5. Акуратно відчиніть механізм розетки: не тягніть CPU по пінам.
  6. При знятому CPU одразу встановіть кришку розетки: кришка — це броня, а не пакування.
  7. Огляньте: під збільшенням, кутовим світлом; шукайте ряди піна, що не відбивають світло однаково.
  8. Очищення підходящим способом: видаліть пил чистим повітрям; не розмазуйте олії; уникайте «креативних розчинників».
  9. Встановіть CPU: вирівняйте мітки/насічки; без сили; він має сідати рівно.
  10. Закрийте плиту розвантаження і важіль: очікуйте опору; це затискна сила, а не бійка.
  11. Нанесіть термопасту послідовно: дотримуйтесь специфікації платформи; не перебільшуйте.
  12. Затягніть кулер за специфікацією: по хресту; калібрований момент; уникайте електроінструментів без валідації.
  13. Перший старт у прошивку: підтвердіть канали пам’яті, швидкості та інвентар PCIe перед завантаженням ОС.
  14. Валідація ОС: запустіть завдання з розділу діагностики і зафіксуйте виводи для тикету.

Чекліст прийняття рішення: коли звинувачувати розетку, а коли CPU

  • Звинувачуйте розетку/плату першою чергою, коли: відсутний канал або група ліній, симптоми змінюються після пересадки/затяжки, або кілька CPU показують ту ж проблему в одній платі.
  • Звинувачуйте CPU першою чергою, коли: CPU не працює в кількох відомо-робочих платах, або ви бачите постійні внутрішні помилки CPU, не пов’язані з топологією каналів/портів.
  • Звинувачуйте прошивку/конфігурацію першою чергою, коли: поведінка змінилася після оновлення BIOS, змін налаштувань, або невідповідність інвентарю стабільна без фізичних змін.

Чекліст гігієни експлуатації (що стандартизувати)

  • Кришки розеток у наявності і вжитку, завжди.
  • Калібровані моментні викрутки з документованими налаштуваннями для кожної платформи.
  • Обов’язковий крок інспекції розетки для будь-якої «таємної» апаратної поведінки після сервісу.
  • Скрипт валідації після сервісу, що перевіряє: lscpu, dmidecode слоти пам’яті, стан лінків PCIe і MCE/EDAC.
  • Політика карантину: будь-яка плата з підозрою пошкодження пінів LGA маркується і виводиться з обороту.

FAQ

1) Чи LGA завжди кращий за PGA?

Кращий для високої кількості контактів і високошвидкісної електричної продуктивності — так. Кращий для обробки в полі — ні.
«Кращий» залежить від того, який у вас біль: інженерні обмеження чи ушкодження від рук техніків.

2) Чому не залишити піни на CPU, щоб захистити дорогу материнську плату?

Тому що дорога частина — не лише плата; це можливість платформи підтримувати щільний, швидкий I/O і подачу живлення.
LGA зменшує крихкість CPU і дозволяє щільніші контакти з кращими характеристиками сигналу. Вартість — зміщений ризик.

3) Чи зігнуті піни LGA завжди не дають загрузитися?

Ні. Саме тому вони небезпечні. Невелика кількість зігнутих піна може вивести канал пам’яті або деградувати PCIe, не вбиваючи POST.
Ви отримаєте «працюючий» сервер, який тихо недопрацьовує або видає помилки під навантаженням.

4) Чи можна вирівняти зігнуті піни LGA?

Іноді фізично — так. Але операційно це рідко варто робити у продукції.
Якщо ви намагаєтесь, потрібні правильні збільшення, освітлення й інструменти, і ви маєте прийняти ризик перетворити відновлювану плату на брак.
Багато організацій просто замінюють плату — це відстежувано і відтворювано.

5) Чому відсутність оперативної пам’яті часто вказує на проблеми розетки?

Канали пам’яті проводяться через конкретні групи контактів. Якщо кілька контактів у цій групі не з’єднуються, контролер пам’яті
може відключити канал під час тренування. ОС тоді показує менше RAM, а dmidecode часто показує порожні слоти.

6) Яка роль плити розвантаження і важеля в LGA?

Вони забезпечують послідовну затискну силу, щоб кожен пружинний контакт притискався до паду з потрібним тиском.
Послідовність — це все: занадто мало — отримуєте переривчасті контакти; занадто багато — можете вигнути плату або пошкодити розетку.

7) Чому PCIe-лінки іноді знижують швидкість після обслуговування?

Еквалізація і тренування підлаштовуються під якість каналу. Якщо опір контакту зростає або якась лінія стає маргінальною, платформа може
домовитись про нижчу швидкість або вужчу ширину, щоб зберегти надійність. Це захисний механізм, який виглядає як «регрес продуктивності».

8) Чи PGA насправді надійніший?

Не обов’язково. Він більш прощаючий до рук, бо материнська плата не має виступаючих пружинних контактів.
Але піни CPU PGA легше зігнути під час встановлення і можуть втомитись при повторному вирівнюванні.
Надійність — це процедура, а не релігія роз’єму.

9) Як проблема кріплення кулера може спричинити помилки пам’яті?

Нерівномірний тиск може трохи викрутити плату або корпус CPU, змінюючи тиск контактів по полю LGA.
Канали пам’яті чутливі; маргінальний контакт може стати нестабільним при нагріванні й спричинити помилки тренування або виправлені помилки.

10) Який хороший тест прийняття після роботи з CPU?

Підтвердіть інвентар (CPU, слоти пам’яті, очікувані пристрої PCIe), перевірте швидкості/ширину лінків, потім запустіть коротке комбіноване CPU+пам’ять навантаження.
Також перевірте логи на MCE/EDAC і PCIe AER corrected errors. «Немає помилок» краще, ніж «виглядає нормально».

Практичні наступні кроки

Ось операційна позиція, яка тримає вас подалі від розеткового пекла:
трактуйте розетки LGA як прецизійні компоненти, а не «просто конектор». Стандартизуйте момент затягування, інспекцію
і валідацію після обслуговування. Не дозволяйте «завантажується» бути вашим визначенням «здоровий».

Одна цитата, бо вона має бути в кожній кімнаті операцій: Надія — це не стратегія. — парафраз ідеї, часто приписуваної лідерам інженерії та операцій.

  1. Кодифікуйте процедуру сервісу CPU, що включає дисципліну кришок розеток і інспекцію.
  2. Автоматизуйте перевірки після сервісу за допомогою завдань вище (топологія CPU, інвентар DIMM, стан лінків PCIe, журнали помилок).
  3. Навчайте людей мепінгу симптомів: відсутній канал/група ліній означає контакт або посадку; випадкові помилки під навантаженням — маргінальність.
  4. Карантин підозрілих плат негайно. Повторні пересадки в пошкоджену розетку LGA — це шлях від «можливо відновлювана» до «точно ні».
  5. Припиніть «оптимізувати» некаліброваними інструментами. Якщо ви використовуєте електроінструменти, валідуйте момент при різних станах батареї та операторах, або не використовуйте їх.

Індустрія не перемістила піни на материнську плату, щоб дратувати техніків. Вона це зробила, бо потрібні були
більше з’єднань, краща електрична поведінка і передбачувана механіка в масштабі. Ваше завдання в продукції —
поважати цей компроміс і швидко діагностувати, коли реальність кусає.

← Попередня
Ubuntu 24.04: iperf показує швидкість, а додаток повільний — приховані вузькі місця для перевірки (випадок №24)
Наступна →
Ceph на Proxmox: коли варто, коли це пастка і як правильно підібрати ресурси

Залишити коментар