АдминистрированиС кластСра сСрвСров 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ Π² срСдС Linux Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ понимания процСссов взаимодСйствия клиСнтских сСссий ΠΈ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссов. Π‘ΠΈΡ‚ΡƒΠ°Ρ†ΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… зависаСт, потрСбляСт аномально ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти ΠΈΠ»ΠΈ просто Π½Π΅ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π½Π° запросы ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ рСгулярно. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях стандартныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° часто ΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π±Π΅ΡΡΠΈΠ»ΡŒΠ½Ρ‹, ΠΈ СдинствСнным Π²Π΅Ρ€Π½Ρ‹ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ становится Π°Π½Π°Π»ΠΈΠ· Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Ρ‡Π΅Ρ€Π΅Π· Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ.

Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹Ρ… Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ кластСра позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ происходит Π²Π½ΡƒΡ‚Ρ€ΠΈ процСсса rphost. Π­Ρ‚ΠΎ критичСски Π²Π°ΠΆΠ½ΠΎ для выявлСния «тяТСлых» запросов, Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ ΠΈ ΡƒΡ‚Π΅Ρ‡Π΅ΠΊ рСсурсов. Однако, стоит ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ активация ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… инструмСнтов трассировки создаСт Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° систСму, поэтому ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΡ… слСдуСт осознанно ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Ρ‹, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° воспроизводится.

Π”Π°Π½Π½ΠΎΠ΅ руководство ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ всС этапы ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ окруТСния, настройки ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² запуска ΠΈ использования спСциализированных ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ для сбора диагностичСских Π΄Π°Π½Π½Ρ‹Ρ…. ΠœΡ‹ рассмотрим ΠΊΠ°ΠΊ ΡˆΡ‚Π°Ρ‚Π½Ρ‹Π΅ срСдства ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, Ρ‚Π°ΠΊ ΠΈ возмоТности ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы для Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° состояния Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссов Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° окруТСния ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΡ€Π°Π² доступа

ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΊ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ»ΠΈ запуску ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠΎΠ², Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Ρƒ вашСй ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи Π΅ΡΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ процСссы сСрвСра 1Π‘ Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ usr1cv8. Для провСдСния диагностичСских мСроприятий Π²Π°ΠΌ потрСбуСтся доступ root ΠΈΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ выполнСния ΠΊΠΎΠΌΠ°Π½Π΄ ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π° процСссов Ρ‡Π΅Ρ€Π΅Π· sudo.

Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π½Π° сСрвСрС установлСны всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ. Π’ дистрибутивах Π½Π° Π±Π°Π·Π΅ Debian/Ubuntu это ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ gdb, strace ΠΈ sysstat. Π˜Ρ… отсутствиС сдСлаСт Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ which gdb ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² вашСй систСмы.

Π’Π°ΠΊΠΆΠ΅ Π²Π°ΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС кластСра. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ кластСра rmngr Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΈ Π²ΠΈΠ΄ΠΈΡ‚ всС зарСгистрированныС Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ процСссы. Если сам ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ находится Π² Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΌ состоянии, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… процСссов ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ Π΄Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρ‹ происходящСго.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ ΡΡƒΠΏΠ΅Ρ€ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π΄Π°Π΅Ρ‚ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ систСмой. Ошибка Π² Π²Π²ΠΎΠ΄Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ kill -9 Π½Π΅ Π½Π° Ρ‚ΠΎΡ‚ процСсс, ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ остановкС всСго сСрвСра 1Π‘ ΠΈ ΠΏΠΎΡ‚Π΅Ρ€Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ свободноС мСсто Π½Π° дискС, особСнно Π² Ρ€Π°Π·Π΄Π΅Π»Π°Ρ…, Π³Π΄Π΅ хранятся Π»ΠΎΠ³ΠΈ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹. Π Π΅ΠΆΠΈΠΌΡ‹ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚Ρ‹ тСкстовой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π·Π° ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΠΊ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Если диск Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½, это ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠΉ остановкС всСх сСрвисов.

β˜‘οΈ Π“ΠΎΡ‚ΠΎΠ²Π½ΠΎΡΡ‚ΡŒ ΠΊ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 4

Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² запуска Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссов

ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌ инструмСнтом управлСния ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссов являСтся Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ кластСра srvinfo\v8ref\xml ΠΈΠ»ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ ΠΏΡ€ΠΈ запускС Ρ‡Π΅Ρ€Π΅Π· рССстр (эмуляция Π² Linux) ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ ras. Для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠ³ΠΎ логирования Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„Π»Π°Π³ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ заставят процСсс rphost ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ своих дСйствиях.

НаиболСС ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ для ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠΉ диагностики являСтся Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ логирования тСхнологичСского ΠΆΡƒΡ€Π½Π°Π»Π° (Π’Π–). Π­Ρ‚ΠΎ позволяСт ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ события Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Π±Π΅Π· ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ тяТСлых ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠΎΠ². Настройка осущСствляСтся Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½ΡƒΡŽ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ rac ΠΈΠ»ΠΈ ΠΏΡƒΡ‚Π΅ΠΌ прямого рСдактирования свойств кластСра.

Для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π’Π– Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ событий. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ EXCP (ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ), SCALL (систСмныС Π²Ρ‹Π·ΠΎΠ²Ρ‹) ΠΈΠ»ΠΈ DBMS (взаимодСйствиС с Π‘Π£Π‘Π”). ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΎΡ‚ΡΠ΅Ρ‡ΡŒ лишний ΡˆΡƒΠΌ ΠΈ ΡΡ„ΠΎΠΊΡƒΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅.

rac cluster setting set --cluster=<UUID> --log-level=debug --log-file=/var/log/1c/tech.log

ПослС измСнСния настроСк часто трСбуСтся пСрСзапуск Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссов, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ вступили Π² силу. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‡Π΅Ρ€Π΅Π· Π°Π΄ΠΌΠΈΠ½ΠΈΡΡ‚Ρ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ консоль ΠΈΠ»ΠΈ оТидая СстСствСнного Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ сСссий, Ссли ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ° кластСра это позволяСт.

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ€Π°Π·Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π»ΠΎΠ³ΠΎΠ² для Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΉ событий, Ссли это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. Π­Ρ‚ΠΎ упростит ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π°Π½Π°Π»ΠΈΠ· ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ смСшиваниС критичСских ошибок с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌΠΈ сообщСниями.

ИспользованиС тСхнологичСского ΠΆΡƒΡ€Π½Π°Π»Π° 1Π‘

ВСхнологичСский ΠΆΡƒΡ€Π½Π°Π» являСтся ΡˆΡ‚Π°Ρ‚Π½Ρ‹ΠΌ срСдством диагностики, встроСнным Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅. Π•Π³ΠΎ Π³Π»Π°Π²Π½ΠΎΠ΅ прСимущСство Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ остановки процСссов ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ прилоТСния, прСдоставляя контСкст выполнСния ΠΊΠΎΠ΄Π°. Для Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ зависаний это часто ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ шаг.

Π’ Ρ„Π°ΠΉΠ»Π°Ρ… Π’Π– Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния запросов, ΠΎΠ±ΡŠΠ΅ΠΌΠ°Ρ… Π²Ρ‹Π±ΠΎΡ€ΠΎΠΊ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Ρ… возникновСния Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ. ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ слСдуСт ΡƒΠ΄Π΅Π»ΡΡ‚ΡŒ записям, ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹ΠΌ ΠΊΠ°ΠΊ прСдупрСТдСния ΠΈΠ»ΠΈ ошибки. Они часто ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π° Π½Π΅ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π½Π° сторонС Π‘Π£Π‘Π”.

Для эффСктивной Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π»ΠΎΠ³Π°ΠΌΠΈ рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ спСциализированныС парсСры ΠΈΠ»ΠΈ скрипты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π°Π³Ρ€Π΅Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ статистику. Π ΡƒΡ‡Π½ΠΎΠΉ просмотр Ρ„Π°ΠΉΠ»ΠΎΠ² объСмом Π² нСсколько Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚ нСэффСктивСн ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒ слишком ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

  • πŸ“Š АнализируйтС Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ выполнСния SQL-запросов для выявлСния ΡƒΠ·ΠΊΠΈΡ… мСст.
  • πŸ” Π˜Ρ‰ΠΈΡ‚Π΅ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ ошибок Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΠΈΠΊΠΎΠ²ΠΎΠΉ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.
  • πŸ›‘ ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°ΠΉΡ‚Π΅ события Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ (Locks) ΠΌΠ΅ΠΆΠ΄Ρƒ транзакциями.
  • πŸ’Ύ ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠΉΡ‚Π΅ объСм ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ памяти Π² Π»ΠΎΠ³Π°Ρ… Π°Π»Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ.

Π’Π°ΠΆΠ½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ€ΠΎΡ‚Π°Ρ†ΠΈΡŽ Π»ΠΎΠ³ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ старыС Ρ„Π°ΠΉΠ»Ρ‹ Π°Ρ€Ρ…ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π»ΠΈΡΡŒ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»ΡΠ»ΠΈΡΡŒ. Π‘Π΅Π· этого Π²Ρ‹ рискуСтС быстро ΠΈΡΡ‡Π΅Ρ€ΠΏΠ°Ρ‚ΡŒ дисковоС пространство. Настройка Ρ€ΠΎΡ‚Π°Ρ†ΠΈΠΈ производится Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ Ρ„Π°ΠΉΠ»Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π’Π–, Π³Π΄Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΡƒΡ‚ΠΈ ΠΈ ΡƒΡ€ΠΎΠ²Π½ΠΈ логирования.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ логирования всСх событий (ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Debug) Π½Π° высоконагруТСнном сСрвСрС ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ ΠΎΠ±Ρ‰ΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ систСмы Π½Π° 10-20% ΠΈΠ·-Π·Π° Π·Π°Ρ‚Ρ€Π°Ρ‚ Π½Π° запись Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° диск.

Π€ΠΎΡ€ΠΌΠ°Ρ‚ записСй Π’Π–

КаТдая запись Π² тСхнологичСском ΠΆΡƒΡ€Π½Π°Π»Π΅ содСрТит ΠΌΠ΅Ρ‚ΠΊΡƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ процСсса, ΠΏΠΎΡ‚ΠΎΠΊ выполнСния, ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΡŽ события ΠΈ само сообщСниС. ПониманиС структуры строки Π»ΠΎΠ³Π° ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ для быстрой Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ Π½ΡƒΠΆΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

Диагностика с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ strace

Когда срСдств ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ нСдостаточно ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° кроСтся Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ взаимодСйствия с ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой, Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° strace. Она позволяСт ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ всС систСмныС Π²Ρ‹Π·ΠΎΠ²Ρ‹, выполняСмыС процСссом, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ сигналы. Π­Ρ‚ΠΎ Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌΡ‹ΠΉ инструмСнт для понимания Ρ‚ΠΎΠ³ΠΎ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ процСсс Β«ΠΌΠΎΠ»Ρ‡ΠΈΡ‚Β».

Для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ ΡƒΠΆΠ΅ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠΌΡƒ процСссу rphost ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ»ΡŽΡ‡ -p с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ PID. Команда выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: strace -p <PID> -o /tmp/trace.log -ff -s 1000. ΠšΠ»ΡŽΡ‡ -ff Π²Π°ΠΆΠ΅Π½, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ процСсс 1Π‘ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ, ΠΈ эта опция создаст ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ°, Ρ‡Ρ‚ΠΎ упростит Π°Π½Π°Π»ΠΈΠ·.

Анализируя Π²Ρ‹Π²ΠΎΠ΄ strace, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Π½Π° ΠΊΠ°ΠΊΠΎΠΌ систСмном Π²Ρ‹Π·ΠΎΠ²Π΅ процСсс остановился. Π§Π°Ρ‰Π΅ всСго это ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° (read, write), ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Ρ„Π°ΠΉΠ»Π° (flock) ΠΈΠ»ΠΈ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ ΠΎΡ‚Π²Π΅Ρ‚Π° ΠΎΡ‚ сСти (recvfrom). Π­Ρ‚ΠΎ сразу суТаСт ΠΊΡ€ΡƒΠ³ поиска ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ зависания.

БистСмный Π²Ρ‹Π·ΠΎΠ² ОписаниС ВозмоТная ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°
epoll_wait ОТиданиС событий Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° ΠŸΡ€ΠΎΡ†Π΅ΡΡ ΠΆΠ΄Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈΠ»ΠΈ Π‘Π£Π‘Π”
futex ОТиданиС ΠΌΡŒΡŽΡ‚Π΅ΠΊΡΠ° Π² ΠΏΠΎΡ‚ΠΎΠΊΠ΅ ВнутрСнняя Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΏΠΎΡ‚ΠΎΠΊΠ° 1Π‘
read Π§Ρ‚Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Ρ„Π°ΠΉΠ»Π°/сокСта ΠœΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ диск ΠΈΠ»ΠΈ зависаниС сСти
stat ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ„Π°ΠΉΠ»Π΅ ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΡ€Π°Π²Π°ΠΌΠΈ доступа ΠΈΠ»ΠΈ NFS

ИспользованиС strace Π½Π° ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ½-сСрвСрах Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ. ΠŸΠΎΡΡ‚ΠΎΡΠ½Π½Π°Ρ трассировка всСх Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² создаСт ΠΊΠΎΠ»ΠΎΡΡΠ°Π»ΡŒΠ½ΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° процСссор ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ сСрвСр пСрСстанСт ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ Π½Π° запросы ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈΠ·-Π·Π° самой диагностики.

πŸ’‘

Strace ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Β«Ρ‡Ρ‚ΠΎΒ» Π΄Π΅Π»Π°Π΅Ρ‚ процСсс Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ОБ, Π½ΠΎ Π½Π΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Β«ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄Β» 1Π‘ выполняСтся Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚. Для Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΠΎΠ΄Π° Π½ΡƒΠΆΠ½Ρ‹ Π΄Π°ΠΌΠΏΡ‹ памяти.

Анализ Π΄Π°ΠΌΠΏΠΎΠ² памяти Ρ‡Π΅Ρ€Π΅Π· GDB

Π’ ситуациях, ΠΊΠΎΠ³Π΄Π° процСсс завис ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈ Π½Π΅ Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΠ΅Ρ‚ Π΄Π°ΠΆΠ΅ Π½Π° сигналы, СдинствСнным способом ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρƒ являСтся Π°Π½Π°Π»ΠΈΠ· Π΄Π°ΠΌΠΏΠ° памяти (core dump). Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ GDB (GNU Debugger). ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ ΠΆΠΈΠ²ΠΎΠΌΡƒ процСссу Ρ‡Π΅Ρ€Π΅Π· GDB приостановит Π΅Π³ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, поэтому Π΄Π΅Π»Π°Ρ‚ΡŒ это Π½ΡƒΠΆΠ½ΠΎ с ΠΎΡΡ‚ΠΎΡ€ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ.

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠ²ΡˆΠΈΡΡŒ ΠΊ процСссу ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ gdb -p <PID>, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ thread apply all bt. Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ стСк Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² (backtrace) для всСх ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² процСсса. Π˜Π·ΡƒΡ‡Π°Ρ стСк, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Π² ΠΊΠ°ΠΊΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния ΠΈΠ»ΠΈ модуля 1Π‘ застрял ΠΏΠΎΡ‚ΠΎΠΊ.

Часто Π² стСкС Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, связанныС с ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ΠΌ сСмафоров ΠΈΠ»ΠΈ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ с ΡΠ΅Ρ‚ΡŒΡŽ. Если всС ΠΏΠΎΡ‚ΠΎΠΊΠΈ находятся Π² состоянии оТидания, Π·Π½Π°Ρ‡ΠΈΡ‚, процСсс Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½ внСшним Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ. Если ΠΆΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΡ‚ΠΎΠΊ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ потрСбляСт CPU, Π² Π΅Π³ΠΎ стСкС Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΈΠ΄Π΅Π½ Ρ†ΠΈΠΊΠ» вычислСний.

  • 🧠 Π˜Π·ΡƒΡ‡Π°ΠΉΡ‚Π΅ Π²Π΅Ρ€Ρ…Π½ΠΈΠ΅ ΠΊΠ°Π΄Ρ€Ρ‹ стСка Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² для опрСдСлСния Ρ‚ΠΎΡ‡ΠΊΠΈ останова.
  • 🧡 ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠΉΡ‚Π΅ состояниС всСх ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ², Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ.
  • πŸ’Ύ БохраняйтС Π΄Π°ΠΌΠΏ Π½Π° диск ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ generate-core-file для ΠΎΡ„Ρ„Π»Π°ΠΉΠ½ Π°Π½Π°Π»ΠΈΠ·Π°.
  • πŸ”Ž Π˜Ρ‰ΠΈΡ‚Π΅ символы 1Π‘ Π² стСкС, ΠΎΠ½ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с прСфиксов Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.

Для Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ ΠΊ процСссу, ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈ ΠΎΡ‚ΠΊΡ€Π΅ΠΏΠ»ΡΡŽΡ‚ΡΡ, минимизируя врСмя простоя. Π’Π°ΠΊΠΈΠ΅ скрипты часто ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Π² составС ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ администрирования 1Π‘.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ГСнСрация ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ Π΄Π°ΠΌΠΏΠ° памяти (core dump) процСсса, Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‰Π΅Π³ΠΎ 10-20 Π“Π‘ ΠžΠ—Π£, ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒ нСсколько ΠΌΠΈΠ½ΡƒΡ‚ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π·Π°ΠΌΠΎΡ€ΠΎΠ·ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ процСсса. Π”Π΅Π»Π°ΠΉΡ‚Π΅ это Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли процСсс ΡƒΠΆΠ΅ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ.

πŸ“Š Какой инструмСнт Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅ для диагностики?
ВСхнологичСский ΠΆΡƒΡ€Π½Π°Π»
Strace
GDB ΠΈ Π΄Π°ΠΌΠΏΡ‹
ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ рСсурсов ОБ
НС Π΄ΠΈΠ°Π³Π½ΠΎΡΡ‚ΠΈΡ€ΡƒΡŽ

Автоматизация сбора диагностичСских Π΄Π°Π½Π½Ρ‹Ρ…

Π ΡƒΡ‡Π½ΠΎΠΉ сбор ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΠΈΠ½Ρ†ΠΈΠ΄Π΅Π½Ρ‚Π° часто Π±Ρ‹Π²Π°Π΅Ρ‚ слишком ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΌ. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΡ‡Π΅Π·Π½ΡƒΡ‚ΡŒ ΠΊ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρƒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ администратора. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ рСкомСндуСтся Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ автоматичСскиС скрипты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ события, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° Π²Ρ‹ΡΠΎΠΊΡƒΡŽ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ CPU ΠΈΠ»ΠΈ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ отсутствиС активности процСсса.

Π‘ΠΊΡ€ΠΈΠΏΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ пСриодичСски ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ статус процСссов Ρ‡Π΅Ρ€Π΅Π· ps ΠΈΠ»ΠΈ top. Если процСсс rphost потрСбляСт Π±ΠΎΠ»Π΅Π΅ 90% процСссорного Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ 5 ΠΌΠΈΠ½ΡƒΡ‚, скрипт ΠΌΠΎΠΆΠ΅Ρ‚ автоматичСски Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ снятиС стСка Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· gdb --batch ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² Π»ΠΎΠ³-Ρ„Π°ΠΉΠ» с Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ.

Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Ρ„Π°ΠΉΠ»ΠΎΠ² тСхнологичСского ΠΆΡƒΡ€Π½Π°Π»Π°. Если Ρ„Π°ΠΉΠ» растСт слишком быстро, это сигнал ΠΎ цикличСской ошибкС Π² ΠΊΠΎΠ΄Π΅. Автоматика ΠΌΠΎΠΆΠ΅Ρ‚ Π² Ρ‚Π°ΠΊΠΎΠΌ случаС ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ снимок состояния систСмы ΠΈ ΡƒΠ²Π΅Π΄ΠΎΠΌΠΈΡ‚ΡŒ администратора.

#!/bin/bash

PID=$(pgrep -f rphost)

if [ -n "$PID" ]; then

echo "Collecting stack trace for PID $PID"

gdb --batch --ex "thread apply all bt" --pid=$PID > /var/log/1c/stack_trace_$(date +%s).log

fi

Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ Ρ‚Π°ΠΊΠΈΡ… скриптов Π² систСму ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° (Zabbix, Prometheus) позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π΄Π°ΡˆΠ±ΠΎΡ€Π΄Ρ‹, Π³Π΄Π΅ Π²ΠΈΠ΄Π½Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ тСкущая Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ°, Π½ΠΎ ΠΈ история срабатываний диагностичСских ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π²Ρ‹ΡΠ²Π»ΡΡ‚ΡŒ хроничСскиС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ пСриодичСски.

πŸ’‘

НастройтС Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ„Π°ΠΉΠ»ΠΎΠ²ΡƒΡŽ систСму ΠΈΠ»ΠΈ Π½Π° быстрый SSD диск. Π—Π°ΠΏΠΈΡΡŒ диагностичСских Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ HDD ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π·Π°Π΄Π΅Ρ€ΠΆΠ΅ΠΊ Π² Ρ€Π°Π±ΠΎΡ‚Π΅ 1Π‘.

Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΡ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² ΠΈ частыС ошибки

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… β€” это Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° Π΄Π΅Π»Π°. Главная ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ собранной ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Часто администраторы видят Π² Π»ΠΎΠ³Π°Ρ… мноТСство ошибок, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π° самом Π΄Π΅Π»Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ слСдствиСм, Π° Π½Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. НСобходимо ΡƒΠΌΠ΅Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡΡ‚ΡŒ ΡˆΡƒΠΌ ΠΎΡ‚ сигнала.

НапримСр, ошибки ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² Π»ΠΎΠ³Π΅ 1Π‘ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½Ρ‹ Π½Π΅ ошибкой Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³Π΅, Π° Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π‘Π£Π‘Π” ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ΅Π½Π° ΠΈ Π½Π΅ успСваСт ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ соСдинСния. Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС Π»Π΅Ρ‡ΠΈΡ‚ΡŒ Π½ΡƒΠΆΠ½ΠΎ Π‘Π£Π‘Π”, Π° Π½Π΅ сСрвСр ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ 1Π‘.

Частой ошибкой являСтся ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ всС Π²ΠΈΠ΄Ρ‹ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ систСма захлСбываСтся ΠΎΡ‚ объСма записываСмых Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° усугубляСтся. ВсСгда Π½Π°Ρ‡ΠΈΠ½Π°ΠΉΡ‚Π΅ с минимального Π½Π°Π±ΠΎΡ€Π° инструмСнтов ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΡΠΉΡ‚Π΅ Π΅Π³ΠΎ постСпСнно, Ссли Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π½Π΅ Π΄Π°Π» ΠΎΡ‚Π²Π΅Ρ‚Π°.

  • πŸ“‰ Π‘Ρ€Π°Π²Π½ΠΈΠ²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π΄ΠΎ ΠΈ послС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ.
  • πŸ”— Π˜Ρ‰ΠΈΡ‚Π΅ ΠΊΠΎΡ€Ρ€Π΅Π»ΡΡ†ΠΈΡŽ ΠΌΠ΅ΠΆΠ΄Ρƒ ошибками Π² 1Π‘ ΠΈ Π»ΠΎΠ³Π°ΠΌΠΈ Π‘Π£Π‘Π”.
  • πŸ•’ ΠžΠ±Ρ€Π°Ρ‰Π°ΠΉΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° врСмя возникновСния ошибок ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ дСйствий ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.
  • πŸ”„ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠΉΡ‚Π΅, Π½Π΅ являСтся Π»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° слСдствиСм ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ ОБ ΠΈΠ»ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ².

Если Π°Π½Π°Π»ΠΈΠ· ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° воспроизводится Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅, ΠΏΠΎΡΡ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ ΡΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ эту Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° тСстовом стСндС. ΠžΡ‚Π»Π°Π΄ΠΊΠ° Π½Π° тСстовом сСрвСрС бСзопаснСС ΠΈ позволяСт ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с настройками Π±Π΅Π· риска для бизнСса.

БСзопасно Π»ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ GDB ΠΊ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌΡƒ процСссу Π½Π° ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Π΅?

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ GDB приостанавливаСт процСсс Π½Π° врСмя сбора ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Если сбор стСка Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ сСкунды, это ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Π°ΠΌ соСдинСний Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ². РСкомСндуСтся Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ эту ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π² ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Ρ‹ минимальной активности ΠΈΠ»ΠΈ Π½Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ΅, Ссли Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° это позволяСт.

Π“Π΄Π΅ хранятся Ρ„Π°ΠΉΠ»Ρ‹ тСхнологичСского ΠΆΡƒΡ€Π½Π°Π»Π° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ?

ΠŸΡƒΡ‚ΡŒ зависит ΠΎΡ‚ настроСк кластСра. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ log Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Π±Π°Π·Ρ‹ ΠΈΠ»ΠΈ ΠΏΡƒΡ‚ΡŒ, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π² настройках кластСра Ρ‡Π΅Ρ€Π΅Π· rac. Часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ /var/log/1c ΠΈΠ»ΠΈ домашняя дирСктория ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ запуска.

Как ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚ΡŒ зависаниС 1Π‘ ΠΎΡ‚ зависания сСти?

ΠŸΡ€ΠΈ зависании сСти процСсс 1Π‘ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ находится Π² состоянии оТидания Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° (D-статус Π² top ΠΈΠ»ΠΈ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ recv Π² strace). ΠŸΡ€ΠΈ зависании самого ΠΊΠΎΠ΄Π° 1Π‘ процСсс ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ 100% Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ CPU ΠΎΠ΄Π½ΠΎΠ³ΠΎ ядра ΠΈΠ»ΠΈ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ (futex).

НуТно Π»ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ сСрвСр послС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ?

ΠŸΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° сСрвСра Π½Π΅ трСбуСтся. Достаточно ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ кластСра ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ процСссы, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ настройки логирования вступили Π² силу. Однако Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях трСбуСтся ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.