ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅ Π² ΡΡΠ΅Π΄Π΅ Linux ΡΡΠ΅Π±ΡΠ΅Ρ Π³Π»ΡΠ±ΠΎΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡ ΡΠ΅ΡΡΠΈΠΉ ΠΈ ΡΠ°Π±ΠΎΡΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ². Π‘ΠΈΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ Π·Π°Π²ΠΈΡΠ°Π΅Ρ, ΠΏΠΎΡΡΠ΅Π±Π»ΡΠ΅Ρ Π°Π½ΠΎΠΌΠ°Π»ΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ Π½Π΅ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π½Π° Π·Π°ΠΏΡΠΎΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, Π²ΡΡΡΠ΅ΡΠ°ΡΡΡΡ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎ. Π ΡΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΡΠ°ΡΡΠΎ ΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ Π±Π΅ΡΡΠΈΠ»ΡΠ½Ρ, ΠΈ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ Π²Π΅ΡΠ½ΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π°Π½Π°Π»ΠΈΠ· Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠ² ΡΠ°Π±ΠΎΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΡΠ΅ΡΠ΅Π· Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ»Π°Π΄ΠΊΠΈ.
ΠΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΡ
ΡΠ΅ΠΆΠΈΠΌΠΎΠ² Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄Π΅ΡΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Π²Π½ΡΡΡΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ° rphost. ΠΡΠΎ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈ Π²Π°ΠΆΠ½ΠΎ Π΄Π»Ρ Π²ΡΡΠ²Π»Π΅Π½ΠΈΡ Β«ΡΡΠΆΠ΅Π»ΡΡ
Β» Π·Π°ΠΏΡΠΎΡΠΎΠ², Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ ΠΈ ΡΡΠ΅ΡΠ΅ΠΊ ΡΠ΅ΡΡΡΡΠΎΠ². ΠΠ΄Π½Π°ΠΊΠΎ, ΡΡΠΎΠΈΡ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ
ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΡΠΎΠ·Π΄Π°Π΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π½Π°Π³ΡΡΠ·ΠΊΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΈΡ
ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠΎΠ·Π½Π°Π½Π½ΠΎ ΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΏΠ΅ΡΠΈΠΎΠ΄Ρ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ.
ΠΠ°Π½Π½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΎΡ Π²Π°ΡΡΠ²Π°Π΅Ρ Π²ΡΠ΅ ΡΡΠ°ΠΏΡ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ, Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π·Π°ΠΏΡΡΠΊΠ° ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΡΠΈΠ»ΠΈΡ Π΄Π»Ρ ΡΠ±ΠΎΡΠ° Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠ΅ΡΠΊΠΈΡ Π΄Π°Π½Π½ΡΡ . ΠΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΊΠ°ΠΊ ΡΡΠ°ΡΠ½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, ΡΠ°ΠΊ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π΄Π»Ρ Π³Π»ΡΠ±ΠΎΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠ°Π±ΠΎΡΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΡΠ°Π² Π΄ΠΎΡΡΡΠΏΠ°
ΠΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ ΠΊΠ°ΠΊ ΠΏΡΠΈΡΡΡΠΏΠ°ΡΡ ΠΊ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ»ΠΈ Π·Π°ΠΏΡΡΠΊΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠΎΠ², Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Ρ Π²Π°ΡΠ΅ΠΉ ΡΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ Π΅ΡΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ. ΠΠ±ΡΡΠ½ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ° 1Π‘ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ usr1cv8. ΠΠ»Ρ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΌΠ΅ΡΠΎΠΏΡΠΈΡΡΠΈΠΉ Π²Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄ΠΎΡΡΡΠΏ root ΠΈΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ Π²Π»Π°Π΄Π΅Π»ΡΡΠ° ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΡΠ΅ΡΠ΅Π· sudo.
Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ. Π Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°Ρ
Π½Π° Π±Π°Π·Π΅ Debian/Ubuntu ΡΡΠΎ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠ°ΠΊΠ΅ΡΡ gdb, strace ΠΈ sysstat. ΠΡ
ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΡΠ΄Π΅Π»Π°Π΅Ρ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π³Π»ΡΠ±ΠΎΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°. ΠΡΠΎΠ²Π΅ΡΠΈΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ which gdb ΠΈΠ»ΠΈ ΡΠ΅ΡΠ΅Π· ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ.
Π’Π°ΠΊΠΆΠ΅ Π²Π°ΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°. Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° rmngr ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΠΈ Π²ΠΈΠ΄ΠΈΡ Π²ΡΠ΅ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ. ΠΡΠ»ΠΈ ΡΠ°ΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π² Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ, Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ Π΄Π°ΡΡ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΊΠ°ΡΡΠΈΠ½Ρ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΡΡΠ΅Π³ΠΎ.
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ ΡΡΠΏΠ΅ΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄Π°Π΅Ρ ΠΏΠΎΠ»Π½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π½Π°Π΄ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ. ΠΡΠΈΠ±ΠΊΠ° Π² Π²Π²ΠΎΠ΄Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΡΠ°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ
kill -9Π½Π΅ Π½Π° ΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ, ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ° 1Π‘ ΠΈ ΠΏΠΎΡΠ΅ΡΠ΅ Π΄Π°Π½Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ.
ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ Π½Π° Π΄ΠΈΡΠΊΠ΅, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π² ΡΠ°Π·Π΄Π΅Π»Π°Ρ , Π³Π΄Π΅ Ρ ΡΠ°Π½ΡΡΡΡ Π»ΠΎΠ³ΠΈ ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ. Π Π΅ΠΆΠΈΠΌΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΌΠΎΠ³ΡΡ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ Π³ΠΈΠ³Π°Π±Π°ΠΉΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π·Π° ΠΊΠΎΡΠΎΡΠΊΠΈΠΉ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΠΊ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΡΠ»ΠΈ Π΄ΠΈΡΠΊ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½, ΡΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ Π°Π²Π°ΡΠΈΠΉΠ½ΠΎΠΉ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ Π²ΡΠ΅Ρ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ².
βοΈ ΠΠΎΡΠΎΠ²Π½ΠΎΡΡΡ ΠΊ ΠΎΡΠ»Π°Π΄ΠΊΠ΅
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π·Π°ΠΏΡΡΠΊΠ° ΡΠ°Π±ΠΎΡΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ²
ΠΡΠ½ΠΎΠ²Π½ΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΡΠ°Π±ΠΎΡΠΈΡ
ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° 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 ΠΠ ΠΠΠ£, ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π½ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠΈΠ½ΡΡ ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π·Π°ΠΌΠΎΡΠΎΠ·ΠΈΡΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠ°. ΠΠ΅Π»Π°ΠΉΡΠ΅ ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠΆΠ΅ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ.
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ ΡΠ±ΠΎΡΠ° Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠ΅ΡΠΊΠΈΡ Π΄Π°Π½Π½ΡΡ
Π ΡΡΠ½ΠΎΠΉ ΡΠ±ΠΎΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΏΡΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠ° ΡΠ°ΡΡΠΎ Π±ΡΠ²Π°Π΅Ρ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠΌ. ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΡΠ΅Π·Π½ΡΡΡ ΠΊ ΠΌΠΎΠΌΠ΅Π½ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°. ΠΠΎΡΡΠΎΠΌΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π½Π°ΡΡΡΠΎΠΈΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΠΎΠ±ΡΡΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° Π²ΡΡΠΎΠΊΡΡ Π·Π°Π³ΡΡΠ·ΠΊΡ 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).
ΠΡΠΆΠ½ΠΎ Π»ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΡΠ΅ΡΠ²Π΅Ρ ΠΏΠΎΡΠ»Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ?
ΠΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠ΅ΡΠ²Π΅ΡΠ° Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ. ΠΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ, ΡΡΠΎΠ±Ρ Π½ΠΎΠ²ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΡΡΠΏΠΈΠ»ΠΈ Π² ΡΠΈΠ»Ρ. ΠΠ΄Π½Π°ΠΊΠΎ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ.