ΠΊΠΎΠ΄ ΠΎΡΠΈΠ±ΠΊΠΈ out of memory microsoft edge
Π Π°Π·Π±ΠΈΡΠ°Π΅ΠΌ ΠΎΡΠΈΠ±ΠΊΡ Out of memory ΠΈ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΈΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ
ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΊΠΎΠ΄ ΠΎΡΠΈΠ±ΠΊΠΈ Out of memory ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΈΠ³Ρ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ Mortal Kombat 9, DayZ, Minecraft, After Effects, Google Chrome ΠΈ Π΄Π°ΠΆΠ΅ utorrent. ΠΠΎΡΠ΅ΠΌΡ ΠΎΠ½Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΈ ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ Π΄Π»Ρ Π΅Π΅ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ? ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ.
Π ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π΅ Π½Π° ΡΡΡΡΠΊΠΈΠΉ ΡΠ±ΠΎΠΉ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Β«Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΠ°ΠΌΡΡΠΈΒ», ΡΡΠΎ ΡΠΆΠ΅ ΡΠΎΠ»ΠΊΠ°Π΅Ρ Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ β ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ, Π²ΠΈΠ΄Π΅ΠΎ ΠΏΠ°ΠΌΡΡΠΈ ΠΈΠ»ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ ΠΌΠ΅ΡΡΠΎ Π½Π° Π΄ΠΈΡΠΊΠ΅ Β«CΒ». ΠΠΎ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΡΠΎ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ Π²ΡΠ΅Π³Π΄Π°, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΊΠΈ.
Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ
Π£Π΄ΠΎΡΡΠΎΠ²Π΅ΡΡΡΠ΅ΡΡ, ΡΡΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΠ΅Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ³ΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π΄Π»Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ 4 ΠΠ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΈΠ»ΠΈ 2 ΠΠ Π²ΠΈΠ΄Π΅ΠΎ ΠΏΠ°ΠΌΡΡΠΈ, Π° Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΡΡΠΎΠΈΡ Π² 2 ΡΠ°Π·Π° ΠΌΠ΅Π½ΡΡΠ΅, ΡΠΎ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΡΡΠΎΠΌ.
ΠΠ°ΡΠΈΠ°Π½ΡΠΎΠ² ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π΄Π΅ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ:
ΠΠ»ΠΎΡ Π°Ρ ΡΠ±ΠΎΡΠΊΠ°
Π Π°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ°ΠΊΠΆΠ΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠ±ΠΎΡΠΊΠΈ. Π ΠΈΠ΄Π΅Π°Π»Π΅ Π΅ΡΠ»ΠΈ ΡΡΠΎ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ. ΠΠΎ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ Π±ΡΠ²Π°Π΅Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π²Π·Π»ΠΎΠΌΠ°Π½Π½ΡΠ΅ ΡΠ±ΠΎΡΠΊΠΈ Β«ΡΡΠΏΠ°ΠΊΠΈΒ». Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΠΊΠ°ΡΠ°ΡΡ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΄ΡΡΠ³ΡΡ Π²Π΅ΡΡΠΈΡ.
ΠΡΠΈΡΡΠΊΠ° Windows
ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ±ΠΎΠΉΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ΅ΡΠ΅Π· Π»ΡΠ±ΠΎΠΉ Π΄Π΅ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΎΡ. ΠΠ°ΡΠ΅ΠΌ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ Π΄Π»Ρ ΠΎΡΠΈΡΡΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π² ΡΠ΅Π΅ΡΡΡΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Β«ccleanerΒ». ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΡΠ΅ ΠΠ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π·Π°Π½ΠΎΠ²ΠΎ Π½ΡΠΆΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π Π΅Π΄ΠΊΠΎ, Π½ΠΎ ΡΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ Mortal Kombat
ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΊΠ°ΡΠ°ΡΡΠΈΠ΅ΡΡ ΠΈΠ³ΡΡ ΠΌΠΎΡΡΠ°Π» ΠΊΠΎΠΌΠ±Π°Ρ 9. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΡΡΠΎΠΉ ΠΈΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠ° out of memory.
ΠΠ΅Ρ Π²Π°ΡΠΊΠ° ΠΏΠ°ΠΌΡΡΠΈ ΠΈ Π½Π΅ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΊΡΠ°Π½Π°
ΠΡΠΎΠ²Π΅ΡΡΡΠ΅, Π΅ΡΡΡ Π»ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ.
ΠΠ΅ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ
ΠΡΠ»ΠΈ MK Π·Π°ΠΏΡΡΠΊΠ°Π»ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· ΠΏΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ, ΡΠΎ ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ ΡΠ±ΠΈΠ»ΠΈΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ.
ΠΠ°Π²ΠΈΡΠ°Π΅Ρ ΠΈΠ»ΠΈ Π²ΡΠ»Π΅ΡΠ°Π΅Ρ
ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΌΠΈΠΊΡΠΎΡΠΎΠ½Π°
Mortal Kombat ΠΎΡΠ΅Π½Ρ ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»Π΅Π½ ΠΊ ΠΌΠΈΠΊΡΠΎΡΠΎΠ½Ρ. ΠΡΠ»ΠΈ ΠΎΠ½ Π²ΠΊΠ»ΡΡΠ΅Π½, ΡΠΎ ΠΎΡΠΊΠ»ΡΡΠΈΡΠ΅ Π΅Π³ΠΎ, Π²ΡΠ΄Π΅ΡΠ½ΡΠ² ΠΏΡΠΎΠ²ΠΎΠ΄ ΠΈΠ· Π³Π½Π΅Π·Π΄Π°.
ΠΠ½ΠΎΠ³Π΄Π°, Π½Π°ΠΎΠ±ΠΎΡΠΎΡ, ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠΈΠΊΡΠΎΡΠΎΠ½Π° ΠΊ Π³Π½Π΅Π·Π΄Ρ. ΠΡΠΎΠ±Π΅Π½Π½ΠΎ Π² ΡΠ»ΡΡΠ°Π΅ Ρ Π½ΠΎΡΡΠ±ΡΠΊΠ°ΠΌΠΈ.
Π§ΠΈΡΡΠ°Ρ Π·Π°Π³ΡΡΠ·ΠΊΠ°
ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠΈΡΡΡΡ Π·Π°Π³ΡΡΠ·ΠΊΡ. ΠΡΠΎ ΠΈΠ·Π±Π°Π²ΠΈΡ ΠΎΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΈΡ ΡΠ»ΡΠΆΠ±, Π³ΡΡΠ·ΡΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ.
Π‘ΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΠΎΡΠΈΠ±ΠΊΠΈ
ΠΠ΅ΠΏΠΎΠ»Π°Π΄ΠΊΡ ΡΠΏΠΎΡΠΎΠ±Π½Ρ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ.
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²ΡΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ΄Π΅Π»Π°Π½ΠΎ, ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΠΠ.
Π£ΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ
ΠΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΏΠΎ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Microsoft.
Π€Π°ΠΉΠ» ΠΏΠΎΠ΄ΠΊΠ°ΡΠΊΠΈ
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΠ‘ Π½Π΅ Ρ Π²Π°ΡΠ°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΌΠ° Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. Π‘Π»Π΅Π΄ΡΠ΅Ρ Π΅Π³ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ.
Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ ΠΠ‘ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ±ΠΈΡΠ°ΡΡ Π΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅Ρ. Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΅ΡΠ΅ Π»ΡΡΡΠ΅.
ΠΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ° ΠΠΠ£
ΠΠ½ΠΎΠ³Π΄Π°, out of memory Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΈΠ·-Π·Π° ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΡ.
Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ Π΄Π²Π° ΡΠΏΠΎΡΠΎΠ±Π°, ΠΊΠ°ΠΊ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ.
ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° Π²ΡΡΠ²Π»ΡΡΡ Π΄Π΅ΡΠ΅ΠΊΡΡ. ΠΠ±Π½Π°ΡΡΠΆΠΈΡΡ ΠΈΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ Π²ΡΠ½ΡΠ² ΠΎΠ΄Π½Ρ ΠΏΠ»Π°Π½ΠΊΡ ΠΠΠ£ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π²ΠΈΠ² Π΅Π΅ Π² Π΄ΡΡΠ³ΠΎΠΉ ΡΠ»ΠΎΡ.
Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅Π΅ΡΡΡΠ°
ΠΠΎΠ±ΠΈΡΡΡΡ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΠΠ‘ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΠ΅Π· ΠΏΡΠ°Π²ΠΊΡ ΡΠ΅Π΅ΡΡΡΠ°. ΠΡΠ»ΠΈ Π²Ρ ΡΠ΅ΡΠΈΡΠ΅ΡΡ Π½Π° ΡΡΠΎ, Π±ΡΠ΄ΡΡΠ΅ ΠΎΡΡΠΎΡΠΎΠΆΠ½Ρ, Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΌΠΎΠ³ΡΡ Π²ΡΠ²Π΅ΡΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½ΠΊΡ ΠΈΠ· ΡΡΡΠΎΡ.
Π ΠΏΡΠΈΠΌΠ΅ΡΡ, SharedSection=aaaa,bbbb,cccc
ΠΠ»Ρ x32 ΡΠ°Π·ΡΡΠ΄Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠ΅Π½ΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ:
ΠΠ»Ρ x64:
ΠΠ°ΠΆΠΌΠΈΡΠ΅ Β«ΠΠΊΒ» ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ.
ΠΡΠ²Π°Π΅Ρ, ΡΡΠΎ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΡΡΡΠ°Π½ΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΡ. Π ΡΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΎΡΡΠ°Π΅ΡΡΡ, ΠΊΡΠΎΠΌΠ΅ ΠΏΠ΅ΡΠ΅ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½ΠΊΠΈ ΠΈΠ»ΠΈ Π΅Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ.
ΠΠ°ΠΊ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΡ Β«Out of MemoryΒ»
ΠΡΠΈΠ±ΠΊΠ° Β«Out of MemoryΒ» ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΠ΅Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ ΡΠ΅ΡΡΡΡΡ, Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°. ΠΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½Π°Ρ ΠΏΠ°ΠΌΡΡΡ ΠΈΠ»ΠΈ ΠΠΠ£ (ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠ΅ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡΠ΅Π΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠΌ Π΄Π»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ ΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ.
ΠΠΎΠ³Π΄Π° ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ° ΠΎΡΠΈΠ±ΠΊΠ°?
ΠΠ°ΠΊ Ρ ΡΠΆΠ΅ ΠΎΡΠΌΠ΅ΡΠ°Π» Π²ΡΡΠ΅, Π·Π°ΠΏΡΡΠΊ ΡΡΠ°Π·Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠ΅ΡΠ΅Π³ΡΡΠ·ΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΌ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ, ΡΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ΅ Β«Out of MemoryΒ». ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠ»ΡΡΠΈΡΡΡΡ ΠΊΠ°ΠΊ Ρ Π½ΠΎΠ²ΡΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ, ΡΠ°ΠΊ ΠΈ Ρ ΡΠΆΠ΅ Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΠΌΠΈ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ. ΠΠ½ΠΎΠ³Π΄Π° ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΡΠΈ, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΎΠ±ΡΠ΅ΠΌΠ° Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ.
ΠΡΠΈΡΠΈΠ½Π° ΠΎΡΠΈΠ±ΠΊΠΈ Β«Out of MemoryΒ»
ΠΡΠΈΡΠΈΠ½Π° ΡΡΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠΆΠ½Π΅Π΅. ΠΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ° WIN32 Windows ΠΈΠΌΠ΅Π΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. ΠΡΠ»ΠΈ ΠΏΠ°ΠΌΡΡΡ Π² ΠΊΡΡΠ΅ ΡΠ°Π±ΠΎΡΠΈΡ ΡΡΠΎΠ»ΠΎΠ² ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΡ WIN32 ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ. Windows ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ΄Π°Π²Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ Β«Out of MemoryΒ».
ΠΠΎΠΌΠΏΡΡΡΠ΅ΡΡ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠ΅ Π½Π΅ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ Microsoft Windows, Π½Π΅ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΡΠ·Π²ΠΈΠΌΡ. ΠΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Windows NT 3.5 ΠΈ Windows NT 3.1
ΠΠ°ΠΊ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΡ Β«Out of MemoryΒ»
Π§ΡΠΎΠ±Ρ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΉ ΡΠ΅Π΅ΡΡΡ Windows. Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅Π΅ΡΡΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΡΠΊΠΎΠ²Π°Π½Π½ΡΠΌ Π·Π°Π½ΡΡΠΈΠ΅ΠΌ. ΠΠ΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Π½ΡΠΆΠ½ΠΎ Ρ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎΡΡΡΡ, ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΠ³ΠΎ ΠΏΠΎ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ:
Π§ΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΡΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ»Π΅Π΄ΡΠΉΡΠ΅ ΡΡΠΈΠΌ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌ.
ΠΡΡΡΠ΄Π°, ΡΠ»Π΅Π΄ΡΠΉΡΠ΅ ΡΡΠΈΠΌ ΡΠ°Π³Π°ΠΌ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²Π°ΡΠ΅ΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ
ΠΠ»Ρ Windows NT:
ΠΠ»Ρ Windows 2000, Windows XP ΠΈ Windows Server 2003:
ΠΠ»Ρ 32-ΡΠ°Π·ΡΡΠ΄Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ
ΠΠ»Ρ 64-ΡΠ°Π·ΡΡΠ΄Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ
ΠΡΡΡ ΡΠ²ΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΊΠΈ Β«Out of MemoryΒ»? ΠΠΈΡΠΈΡΠ΅ Π΅Π³ΠΎ Π² ΡΠΎΡΠΌΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² ΠΊ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅, ΠΈ Π΅ΡΠ»ΠΈ Π²Π°Ρ Π²Π°ΡΠΈΠ°Π½Ρ ΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ, ΠΌΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ.
ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΠ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ ΠΌΠΎΠ³ΡΡ ΡΡΠΎΠ»ΠΊΠ½ΡΡΡΡΡ Ρ Β«Π²ΡΠ»Π΅ΡΠΎΠΌΒ» ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΈ ΠΏΠΎΡΠ²ΠΈΠ²ΡΠΈΠΌΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ Β«Out of memoryΒ». ΠΠΎΠ·Π½ΠΈΠΊΡΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΈΡΠΈΠ½, Π½Π°ΡΠΈΠ½Π°Ρ ΠΎΡ Π±Π°Π½Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠ° ΠΏΠ°ΠΌΡΡΠΈ Π½Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΌ ΠΠ, ΠΈ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Ρ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠΎΠΉ Ρ ΠΏΠ°ΠΌΡΡΡΡ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΡΠΈΡΠΈΠ½Ρ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ Π΄ΠΈΡΡΡΠ½ΠΊΡΠΈΠΈ
Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Β«Out of memoryΒ» (Π² ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π΅ Π΄ΠΎΡΠ»ΠΎΠ²Π½ΠΎ Β«Π²Π½Π΅ ΠΏΠ°ΠΌΡΡΠΈΒ», ΠΈΠ»ΠΈ Β«Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΠ°ΠΌΡΡΠΈΒ») ΠΎΠ±ΡΡΠ½ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΏΡΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠ΅ ΠΏΠ°ΠΌΡΡΠΈ Π½Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ ΠΆΠ΅, Π² ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½ΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ Β«Π²ΠΈΠ½ΠΎΠ²Π΅Π½Β» ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π½Π°Π±ΠΎΡ ΡΠ°ΠΊΡΠΎΡΠΎΠ²:
ΠΠΎΠ³Π΄Π° Π²Π°ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ Π½Π΅ Ρ Π²Π°ΡΠ°Π΅Ρ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΉ R.A.M. ΠΏΠ°ΠΌΡΡΠΈ, ΠΎΠ½ Π·Π°ΠΈΠΌΡΡΠ²ΡΠ΅Ρ ΡΠ°ΡΡΡ ΠΌΠ΅ΡΡΠ° Π½Π° ΠΆΡΡΡΠΊΠΎΠΌ Π΄ΠΈΡΠΊΠ΅, ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ Β«Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΏΠ°ΠΌΡΡΡΒ». Π‘ΠΈΡΡΠ΅ΠΌΠ° Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Ρ ΡΠ°Π½ΠΈΡ Π² ΡΠ°ΠΊΠΎΠΉ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΡΡ ΡΠ°ΡΡΡ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π΅ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ ΠΎΠ±ΡΡΠ½ΠΎΠΉ. Π’Π°ΠΊΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΎΠ±ΡΡΠ½ΠΎ Ρ ΡΠ°Π½ΡΡΡΡ Π² ΡΠ°ΠΉΠ»Π΅ Β«pagefile.sysΒ», ΡΠ°Π·ΠΌΠ΅Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡΡΡ ΠΈΠ»ΠΈ ΡΠΌΠ΅Π½ΡΡΠ°ΡΡΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠΈ ΡΠ°Π±ΠΎΡΡ Π²Π°ΡΠ΅ΠΉ ΠΠ‘. ΠΡΠ»ΠΈ Π½Π° Π΄ΠΈΡΠΊΠ΅ Π±ΡΠ΄Π΅Ρ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΌΠ΅ΡΡΠ°, ΡΠ°ΠΉΠ» Β«pagefile.sysΒ» Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΡΡΠΈ, ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠΎΠ»ΡΡΠΈΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΡΡ ΠΎΡΠΈΠ±ΠΊΡ.
ΠΠ°ΠΊ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΡ Β«Out of memoryΒ»
ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΡΠΈΠΊΡΠ° ΠΎΡ ΠΠ°ΠΉΠΊΡΠΎΡΠΎΡΡ. ΠΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ Π΄Π»Ρ Π±ΡΠ°ΡΠ·Π΅ΡΠ° ΡΡΠΎΠ²Π½Ρ Β«The Great SuspenderΒ» Π΄Π»Ρ Β«Google ChromeΒ», Ρ ΠΎΡΠΎΡΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅Π³ΠΎ Ρ Π½Π΅Π½ΡΠΆΠ½ΡΠΌΠΈ Π²ΠΊΠ»Π°Π΄ΠΊΠ°ΠΌΠΈ Π±ΡΠ°ΡΠ·Π΅ΡΠ°.
bcdedit/set IncreaseUserVa 3072
Π Π½Π°ΠΆΠΌΠΈΡΠ΅ Π½Π° Π²Π²ΠΎΠ΄, ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΡΠ΅ Π²Π°Ρ ΠΠ. Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ 3 Π³ΠΈΠ³Π°Π±Π°ΠΉΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ. Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ, ΠΏΠΎΡΠΎΠΌΡ Π΅ΡΠ»ΠΈ ΠΏΠΎΡΠ»Π΅ Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Π½Π°ΡΠ°Π»Π° ΡΠ°ΡΠ΅ ΡΠ±ΠΎΠΈΡΡ, ΡΠΎ Π²Π²Π΅Π΄ΠΈΡΠ΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°:
bcdedit /set IncreaseUserVa 2560 β ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ 2,5 Π³ΠΈΠ³Π°Π±Π°ΠΉΡΠ° Π²ΠΌΠ΅ΡΡΠΎ ΡΠ°Π½Π΅Π΅ Π·Π°Π±ΡΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ 3.
ΠΡΠ»ΠΈ ΡΠΈΡΡΠ°ΡΠΈΡ ΡΡΠΈΠΌ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ, Π²Π΅ΡΠ½ΠΈΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π½Π° ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ:
bcdedit /deletevalue IncreaseUserVa
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π½ΡΠΆΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°ΠΉΠ»Π° ΠΏΠΎΠ΄ΠΊΠ°ΡΠΊΠΈ
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΡΠΈΠ±ΠΊΠ° Β«Out of memoryΒ» ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΈΡΠΈΠ½, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ ΠΊΠ°ΠΊ Ρ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠΌ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠΌ ΠΏΠ°ΠΌΡΡΠΈ Π½Π° ΠΠ, ΡΠ°ΠΊ ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ Π΄Π΅ΡΠ΅ΡΠΌΠΈΠ½Π°Π½ΡΠ°ΠΌΠΈ, ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌΠΈ ΠΌΠ½ΠΎΠΉ Π²ΡΡΠ΅. ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠΎΠ²Π΅ΡΡΡ Π·Π°ΠΊΡΡΡΡ Π½Π΅Π½ΡΠΆΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ (Π²ΠΊΠ»Π°Π΄ΠΊΠΈ Π±ΡΠ°ΡΠ·Π΅ΡΠ°) Π½Π° Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ (ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ ΡΠ°Π·Π³ΡΡΠ·ΠΈΠ² Π΅Π³ΠΎ ΠΏΠ°ΠΌΡΡΡ), Π° ΡΠ°ΠΌΡΠΌ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΏΠ»Π°Π½ΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ Π½Π° ΠΠ, ΡΡΠΎ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·Π±Π°Π²ΠΈΡΡΡΡ ΠΎΡ ΠΎΡΠΈΠ±ΠΊΠΈ Π½Π° Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅.
ΠΠ°ΠΊ Π±ΠΎΡΠΎΡΡΡΡ Ρ OutOfMemoryError Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅, ΠΈΠ»ΠΈ ΠΎΡ ΡΠΆ ΠΌΠ½Π΅ ΡΡΠΈ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
ΠΡΠ΅Π΄ΡΡΡΠΎΡΠΈΡ
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ OOM. ΠΠΎΠΌΡ-ΡΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΅ΡΡ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ.
ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅ ΡΠ΅Π±Π΅, ΡΡΠΎ Π΅ΡΡΡ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ Π²Π΅ΡΡ
Π½ΠΈΠΉ ΠΏΡΠ΅Π΄Π΅Π» Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²ΠΊΠΈ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΡΡΡ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π³ΠΈΠ³Π°Π±Π°ΠΉΡ ΠΠΠ£.
Π‘Π°ΠΌΠΎ ΠΏΠΎ ΡΠ΅Π±Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ OOM Π² ΠΊΠ°ΠΊΠΎΠΌ-ΡΠΎ ΠΈΠ· ΠΏΠΎΡΠΎΠΊΠΎΠ² Π΅ΡΡ Π½Π΅ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠΎΡ ΠΏΠΎΡΠΎΠΊ Β«Π²ΡΠΆΡΠ°Π»Β» Π²ΡΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΡ ΠΏΠ°ΠΌΡΡΡ, Π΄Π° ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠΎΡ ΠΊΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠ²ΡΠ» ΠΊ OOM, Π²ΠΈΠ½ΠΎΠ²Π°Ρ Π² ΡΡΠΎΠΌ.
ΠΠΏΠΎΠ»Π½Π΅ Π½ΠΎΡΠΌΠ°Π»ΡΠ½Π° ΡΠΈΡΡΠ°ΡΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΏΠΎΡΠΎΠΊ ΡΠ΅ΠΌ-ΡΠΎ Π·Π°Π½ΠΈΠΌΠ°Π»ΡΡ, ΠΏΠΎΠ΅Π΄Π°Ρ ΠΏΠ°ΠΌΡΡΡ, Β«Π΄ΠΎΠ·Π°Π½ΠΈΠΌΠ°Π»ΡΡΒ» ΡΡΠΈΠΌ Π΄ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Β«Π΅ΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ, ΠΈ Ρ Π»ΠΎΠΏΠ½ΡΒ», ΠΈ Π·Π°Π²Π΅ΡΡΠΈΠ» Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠ²ΡΠΈΡΡ. Π Π² ΡΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΠΎΡΠΎΠΊ ΡΠ΅ΡΠΈΠ» Π·Π°ΠΏΡΠΎΡΠΈΡΡ Π΄Π»Ρ ΡΠ²ΠΎΠ΅ΠΉ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π΅ΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠ±ΠΎΡΡΠΈΠΊ ΠΌΡΡΠΎΡΠ° ΠΏΠΎΠΏΡΠΆΡΠ»ΡΡ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π½ΠΎ ΠΌΡΡΠΎΡΠ° ΡΠΆΠ΅ Π² ΠΏΠ°ΠΌΡΡΠΈ Π½Π΅ Π½Π°ΡΡΠ». Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΊΠ°ΠΊ ΡΠ°Π· ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ OOM, Π½Π΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ Ρ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΊΠΎΠ³Π΄Π° ΡΡΠ΅ΠΊΡΡΠ΅ΠΉΡ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ ΡΠΎΠ²ΡΠ΅ΠΌ Π½Π΅ ΡΠΎΠ³ΠΎ Π²ΠΈΠ½ΠΎΠ²Π½ΠΈΠΊΠ° ΠΏΠ°Π΄Π΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ. ΠΠΊΠΎΠ»ΠΎ Π½Π΅Π΄Π΅Π»ΠΈ Ρ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π», ΠΊΠ°ΠΊ ΡΠ»ΡΡΡΠΈΡΡ ΠΆΠΈΠ·Π½Ρ ΠΏΠ°ΡΠΎΡΠΊΠΈ Π½Π°ΡΠΈΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π»ΠΈ ΡΠ΅Π±Ρ Π½Π΅ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎ Π²Π΅ΡΡΠΈ. Π Π΅ΡΡ Π½Π΅Π΄Π΅Π»ΡΠΊΡ-Π΄Π²Π΅ ΠΏΠΎΡΡΠ°ΡΠΈΠ» Π½Π° ΡΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΈΡ
Π² ΠΏΠΎΡΡΠ΄ΠΎΠΊ. Π ΠΎΠ±ΡΠ΅ΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠ°ΡΠ° Π½Π΅Π΄Π΅Π»Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΡΡΡΠ½ΡΠ»ΠΈΡΡ Π½Π° ΠΏΠΎΠ»ΡΠΎΡΠ° ΠΌΠ΅ΡΡΡΠ°, Π²Π΅Π΄Ρ Π·Π°Π½ΠΈΠΌΠ°Π»ΡΡ Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΈΠΌΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ.
ΠΠ· Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ: ΡΡΠΎΡΠΎΠ½Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, ΠΈ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΡΡΡΡΠ½Π½ΡΠ΅ Π²Π΅ΡΠΈ Π² Π²ΡΠ·ΠΎΠ²Π°Ρ
Ρ
ΡΠ°Π½ΠΈΠΌΡΡ
ΠΏΡΠΎΡΠ΅Π΄ΡΡ.
Π ΠΎΠ΄Π½ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΡΠΈΠΌΠΏΡΠΎΠΌΡ Π±ΡΠ»ΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅: Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π½Π°Π³ΡΡΠ·ΠΊΠΈ Π½Π° ΡΠ΅ΡΠ²ΠΈΡ, ΠΎΠ½ΠΎ ΠΌΠΎΠ³Π»ΠΎ ΡΠΏΠ°ΡΡΡ ΡΠ΅ΡΠ΅Π· ΡΡΡΠΊΠΈ, Π° ΠΌΠΎΠ³Π»ΠΎ ΡΠ΅ΡΠ΅Π· Π΄Π²ΠΎΠ΅. ΠΡΠ»ΠΈ ΠΏΠΎΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠΎ Π±ΡΠ»ΠΎ Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ Π½Π°Π±ΠΈΡΠ°Π»ΠΎ Β«ΡΠ°Π·ΠΌΠ΅ΡΒ», ΠΈ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ Π»ΠΎΠΆΠΈΠ»ΠΎΡΡ.
Π‘ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π΅Π΅. ΠΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π²Π΅ΡΡΠΈ ΡΠ΅Π±Ρ Ρ
ΠΎΡΠΎΡΠΎ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΡΠΎΠΊ, Π° ΠΌΠΎΠ³Π»ΠΎ ΠΏΠ΅ΡΠ΅ΡΡΠ°ΡΡ ΠΎΡΠ²Π΅ΡΠ°ΡΡ ΠΌΠΈΠ½ΡΡ ΡΠ΅ΡΠ΅Π· 10 ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΈ, ΠΈΠ»ΠΈ Π²Π΄ΡΡΠ³ Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎ ΡΠΏΠ°ΡΡΡ, ΡΠΎΠΆΡΠ°Π² Π²ΡΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΡ ΠΏΠ°ΠΌΡΡΡ (ΡΡΠΎ Ρ ΡΠΆΠ΅ ΡΠ΅ΠΉΡΠ°Ρ Π²ΠΈΠΆΡ, Π½Π°Π±Π»ΡΠ΄Π°Ρ Π·Π° Π½ΠΈΠΌ). Π ΠΏΠΎΡΠ»Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° Π±ΡΠ»Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π° ΠΈ Π²Π΅ΡΡΠΈΡ Tomcat Ρ 7ΠΉ Π΄ΠΎ 8ΠΉ, ΠΈ JRE, ΠΎΠ½ΠΎ Π²Π΄ΡΡΠ³ Π² ΠΎΠ΄Π½Ρ ΠΈΠ· ΠΏΡΡΠ½ΠΈΡ (ΠΏΡΠΎΡΠ°Π±ΠΎΡΠ°Π² Π²ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎ Π΄ΠΎ ΡΡΠΎΠ³ΠΎ Π½ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π½ΠΈ ΠΌΠ°Π»ΠΎ β 2 Π½Π΅Π΄Π΅Π»ΠΈ) Π½Π°ΡΠ°Π»ΠΎ ΡΠ²ΠΎΡΠΈΡΡ ΡΠ°ΠΊΠΈΠ΅ Π²Π΅ΡΠΈ, ΡΡΠΎ ΡΡΡΠ΄Π½ΠΎ ΠΏΡΠΈΠ·Π½Π°Π²Π°ΡΡΡΡ Π² ΡΡΠΎΠΌ. π
Π ΠΎΠ±ΠΎΠΈΡ
ΠΈΡΡΠΎΡΠΈΡΡ
ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½Ρ ΠΎΠΊΠ°Π·Π°Π»ΠΈΡΡ Π΄Π°ΠΌΠΏΡ, Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΈΠΌ ΡΠ΄Π°Π»ΠΎΡΡ ΠΎΡΡΡΠΊΠ°ΡΡ Π²ΡΠ΅ ΠΏΡΠΈΡΠΈΠ½Ρ ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ, ΠΏΠΎΠ΄ΡΡΠΆΠΈΠ²ΡΠΈΡΡ Ρ ΡΠ°ΠΊΠΈΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ, ΠΊΠ°ΠΊ JVisualVM (Π±ΡΠ΄Ρ Π½Π°Π·ΡΠ²Π°ΡΡ Π΅Π³ΠΎ JVVM), Eclipse Memory Analyzing Tool (MAT) ΠΈ ΡΠ·ΡΠΊΠΎΠΌ OQL (ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Ρ Π½Π΅ ΡΠΌΠ΅Ρ Π΅Π³ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π³ΠΎΡΠΎΠ²ΠΈΡΡ Π² MAT, Π½ΠΎ ΠΌΠ½Π΅ ΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ Π»Π΅Π³ΡΠ΅ ΠΏΠΎΠ΄ΡΡΠΆΠΈΡΡΡΡ Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ OQL ΠΈΠΌΠ΅Π½Π½ΠΎ Π² JVVM).
ΠΡΡ Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²ΠΊΠ° Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π±ΡΠ»ΠΎ ΠΊΡΠ΄Π° Π·Π°Π³ΡΡΠΆΠ°ΡΡ Π΄Π°ΠΌΠΏΡ. ΠΡ ΠΎΠ±ΡΡΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΎΠΈΠ·ΠΌΠ΅ΡΠΈΠΌ Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ Π΄Π°ΠΌΠΏΠ°.
ΠΠ°ΡΠ°Π»ΠΎ
ΠΡΠ°ΠΊ, Π½Π°ΡΠ½Ρ ΠΏΠΎΡΠΈΡ
ΠΎΠ½ΡΠΊΡ ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡ ΠΊΠ°ΡΡΡ, ΠΈ Π½Π°ΡΠ½Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ JVVM.
ΠΡΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π² ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΈ Ρ jstatd ΠΈ jmx ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΄Π°Π»ΡΠ½Π½ΠΎ Π½Π°Π±Π»ΡΠ΄Π°ΡΡ Π·Π° ΠΆΠΈΠ·Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅: Heap, ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ, PermGen, ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΡΠΎΠΊΠΎΠ² ΠΈ ΠΊΠ»Π°ΡΡΠΎΠ², Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΠΏΠΎΡΠΎΠΊΠΎΠ², ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅.
Π’Π°ΠΊΠΆΠ΅ JVVM ΡΠ°ΡΡΠΈΡΡΠ΅ΠΌ, ΠΈ Ρ Π½Π΅ ΠΏΡΠ΅ΠΌΠΈΠ½ΡΠ» Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠΎΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ² Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΈ ΠΊΡΠ΄Π° Π±ΠΎΠ»ΡΡΠ΅ Π²Π΅ΡΠ΅ΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ»Π΅Π΄ΠΈΡΡ ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²Π°ΡΡ Ρ MBean’Π°ΠΌΠΈ, Π½Π°Π±Π»ΡΠ΄Π°ΡΡ Π·Π° Π΄Π΅ΡΠ°Π»ΡΠΌΠΈ Ρ
ΠΈΠΏΠ°, Π²Π΅ΡΡΠΈ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ Π·Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Π΄Π΅ΡΠΆΠ° Π² Β«Π³ΠΎΠ»ΠΎΠ²Π΅Β» ΠΊΡΠ΄Π° Π±ΠΎΠ»ΡΡΠΈΠΉ ΠΏΠ΅ΡΠΈΠΎΠ΄ ΠΌΠ΅ΡΡΠΈΠΊ, ΡΠ΅ΠΌ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠΎΠΉ Monitor ΡΠ°Ρ.
ΠΠΎΡ ΡΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π½Π°Π±ΠΎΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ
ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ².
Visual GC (VGC) ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΠΈΠ΄Π΅ΡΡ ΠΌΠ΅ΡΡΠΈΠΊΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Ρ
ΠΈΠΏΠΎΠΌ.
ΠΠΎΡ Π΄Π²Π° ΡΠΊΡΠΈΠ½ΡΠΎΡΠ° Π²ΠΊΠ»Π°Π΄ΠΊΠΈ VGC, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ, ΠΊΠ°ΠΊ Π²Π΅Π΄ΡΡ ΡΠ΅Π±Ρ Π΄Π²Π° ΡΠ°Π·Π½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
Π‘Π»Π΅Π²Π° ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΡΠ°Π·Π΄Π΅Π»Ρ Ρ
ΠΈΠΏΠ°, ΠΊΠ°ΠΊ Perm Gen, Old Gen, Survivor 0, Survivor 1, ΠΈ Eden Space.
ΠΡΠ΅ ΡΡΠΈ ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠ΅ β ΡΡΠ°ΡΡΠΊΠΈ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²ΠΊΠ΅, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΈ ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ.
PermGen β Permanent Generation β ΠΎΠ±Π»Π°ΡΡΡ ΠΏΠ°ΠΌΡΡΠΈ Π² JVM, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½Π°Ρ Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² Java ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
Π΄Π°Π½Π½ΡΡ
.
Old Gen β ΡΡΠΎ ΠΎΠ±Π»Π°ΡΡΡ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π»Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΡΠ°ΡΡΡ
ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΆΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠ»Π°Π΄ΡΠ²Π°Π½ΠΈΠΉ Ρ ΠΌΠ΅ΡΡΠ° Π½Π° ΠΌΠ΅ΡΡΠΎ Π² Survivor-ΠΎΠ±Π»Π°ΡΡΡΡ
, ΠΈ Π² ΠΌΠΎΠΌΠ΅Π½Ρ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-ΡΠΎ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π»ΠΈΠ²Π°Π½ΠΈΡ ΠΏΠΎΠΏΠ°Π΄Π°ΡΡ Π² ΠΎΠ±Π»Π°ΡΡΡ Β«ΡΡΠ°ΡΡΡ
Β» ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².
Survivor 0 ΠΈ 1 β ΡΡΠΎ ΠΎΠ±Π»Π°ΡΡΠΈ, Π² ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΏΠ°Π΄Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π² Eden Space ΠΏΠ΅ΡΠ΅ΠΆΠΈΠ»ΠΈ Π΅Π³ΠΎ ΡΠΈΡΡΠΊΡ, ΡΠΎ Π΅ΡΡΡ Π½Π΅ ΡΡΠ°Π»ΠΈ ΠΌΡΡΠΎΡΠΎΠΌ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΊΠΎΠ³Π΄Π° Eden Space Π½Π°ΡΠ°Π» ΡΠΈΡΡΠΈΡΡΡΡ Garbage Collector’ΠΎΠΌ (GC). ΠΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π·Π°ΠΏΡΡΠΊΠ΅ ΡΠΈΡΡΠΊΠΈ Eden Space ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΈΠ· Π°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ Π² ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Survivor’Π° ΠΏΠ΅ΡΠ΅ΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡΡΡ Π² ΠΏΠ°ΡΡΠΈΠ²Π½ΡΠΉ, ΠΏΠ»ΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ Π½ΠΎΠ²ΡΠ΅, ΠΈ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Survivor’Ρ ΠΌΠ΅Π½ΡΡΡΡΡ ΡΡΠ°ΡΡΡΠ°ΠΌΠΈ, ΠΏΠ°ΡΡΠΈΠ²Π½ΡΠΉ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π°ΠΊΡΠΈΠ²Π½ΡΠΌ, Π° Π°ΠΊΡΠΈΠ²Π½ΡΠΉ β ΠΏΠ°ΡΡΠΈΠ²Π½ΡΠΌ.
Eden Space β ΠΎΠ±Π»Π°ΡΡΡ ΠΏΠ°ΠΌΡΡΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π½ΠΎΠ²ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΏΠΎΡΠΎΠΆΠ΄Π°ΡΡΡΡ. ΠΡΠΈ Π½Π΅Ρ
Π²Π°ΡΠΊΠ΅ ΠΏΠ°ΠΌΡΡΠΈ Π² ΡΡΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΡΠΈΠΊΠ» GC.
ΠΠ΅ΡΠ΅ΠΉΠ΄ΡΠΌ ΠΊΠΎ Π²ΡΠΎΡΠΎΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ:
Π Π½ΡΠΌ Eden Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ ΠΌΠ½Π΅ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΡΡΠΎΠ²Π΅Π½Ρ ΠΈΠ· Mortal Kombat, Π°ΡΠ΅Π½Ρ Ρ ΡΠΈΠΏΠ°ΠΌΠΈ. ΠΡΠ»Π° ΡΠ°ΠΊΠ°Ρ, ΠΊΠ°ΠΆΠ΅ΡΡΡβ¦ Π ΠΡΠ°ΡΠΈΠΊ GC β ΡΠΈΠΏΡ ΠΈΠ· NFS Hot Pursuit, Π²ΠΎΡ ΡΠ΅ Π²ΠΎΡ, ΠΏΠ»ΠΎΡΠΊΠΈΠ΅ Π΅ΡΡ.
Π§ΠΈΡΠ»Π° ΡΠΏΡΠ°Π²Π° ΠΎΡ Π½Π°Π·Π²Π°Π½ΠΈΠΉ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ:
1) ΡΡΠΎ Eden ΠΈΠΌΠ΅Π΅Ρ ΡΠ°Π·ΠΌΠ΅Ρ Π² 50 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ, ΠΈ ΡΠΎ, ΡΡΠΎ Π½Π°ΡΠΈΡΠΎΠ²Π°Π½ΠΎ Π² ΠΊΠΎΠ½ΡΠ΅ Π³ΡΠ°ΡΠΈΠΊΠ°, ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΠΈΠ· Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π½Π° ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ β Π·Π°Π½ΡΡΠΎ 25 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ. ΠΡΠ΅Π³ΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΡΠΎΡΡΠΈ Π΄ΠΎ 546 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ.
2) ΡΡΠΎ Old ΠΌΠΎΠΆΠ΅Ρ Π²ΡΡΠΎΡΡΠΈ Π΄ΠΎ 1,333 Π³ΠΈΠ³Π°, ΡΠ΅ΠΉΡΠ°Ρ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ 405 ΠΠ, ΠΈ Π·Π°Π±ΠΈΡ Π½Π° 145,5 ΠΠ.
Π’Π°ΠΊ ΠΆΠ΅ Π΄Π»Ρ Survivor-ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ ΠΈ Perm Gen.
ΠΠ»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ β Π²ΠΎΡ ΠΠ°ΠΌ Tracer-Π³ΡΠ°ΡΠΈΠΊ Π·Π° 75 ΡΠ°ΡΠΎΠ² ΡΠ°Π±ΠΎΡΡ Π²ΡΠΎΡΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π΄ΡΠΌΠ°Ρ, ΠΊΠΎΠ΅-ΠΊΠ°ΠΊΠΈΠ΅ Π²ΡΠ²ΠΎΠ΄Ρ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈΠ· Π½Π΅Π³ΠΎ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎ Π°ΠΊΡΠΈΠ²Π½Π°Ρ ΡΠ°Π·Π° Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ β Ρ 8:30 Π΄ΠΎ 17:30 Π² ΡΠ°Π±ΠΎΡΠΈΠ΅ Π΄Π½ΠΈ, ΠΈ ΡΡΠΎ Π΄Π°ΠΆΠ΅ Π½Π° Π²ΡΡ
ΠΎΠ΄Π½ΡΡ
ΠΎΠ½ΠΎ ΡΠΎΠΆΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ π
ΠΡΠ»ΠΈ Π²Ρ Π²Π΄ΡΡΠ³ ΡΠ²ΠΈΠ΄Π΅Π»ΠΈ Π² ΡΠ²ΠΎΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΡΡΠΎ Old-ΠΎΠ±Π»Π°ΡΡΡ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π° β ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ΄ΠΎΠΆΠ΄Π°ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½Π° ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½ΠΈΡΡΡ, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ ΠΎΠ½Π° Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π° ΡΠΆΠ΅ ΠΌΡΡΠΎΡΠΎΠΌ.
ΠΡΡΠΎΡ β ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅Ρ Π°ΠΊΡΠΈΠ²Π½ΡΡ ΡΡΡΠ»ΠΎΠΊ ΠΈΠ· Π΄ΡΡΠ³ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΈΠ»ΠΈ ΡΠ΅Π»ΡΠ΅ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΡ ΡΠ°ΠΊΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ Β«ΠΎΠ±Π»Π°ΠΊΠΎΒ» Π²Π·Π°ΠΈΠΌΠΎΡΠ²ΡΠ·Π°Π½Π½ΡΡ ΠΎΡΠ΅ΠΊΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ°ΡΡ ΠΌΡΡΠΎΡΠΎΠΌ, Π΅ΡΠ»ΠΈ Π½Π°Π±ΠΎΡ ΡΡΡΠ»ΠΎΠΊ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡΡ Π²Π½ΡΡΡΠΈ ΡΡΠΎΠ³ΠΎ Β«ΠΎΠ±Π»Π°ΠΊΠ°Β», ΠΈ Π½ΠΈ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡΠ΅ΠΊΡ Π² ΡΡΠΎΠΌ Β«ΠΎΠ±Π»Π°ΠΊΠ΅Β» Π½ΠΈΡΡΠΎ Π½Π΅ ΡΡΡΠ»Π°Π΅ΡΡΡ Β«ΡΠ½Π°ΡΡΠΆΠΈΒ»).
ΠΡΠΎ Π±ΡΠ» ΠΊΡΠ°ΡΠΊΠΈΠΉ ΠΏΠ΅ΡΠ΅ΡΠΊΠ°Π· ΡΠΎΠ³ΠΎ, ΡΡΠΎ Ρ ΡΠ·Π½Π°Π» ΠΏΡΠΎ ΡΡΡΡΠΊΡΡΡΡ Ρ ΠΈΠΏΠ° Π·Π° Π²ΡΠ΅ΠΌΡ, ΠΏΠΎΠΊΠ° Π³ΡΠ³Π»ΠΈΠ».
ΠΡΠ΅Π΄ΠΏΠΎΡΡΠ»ΠΊΠΈ
ΠΡΠ°ΠΊ, ΡΠ»ΡΡΠΈΠ»ΠΎΡΡ ΡΡΠ°Π·Ρ Π΄Π²Π΅ Π²Π΅ΡΠΈ:
1) ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π° Π½Π° Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ/ΡΠΎΠΌΠΊΠ΅ΡΡ/Π΄ΠΆΠ°Π²Ρ Π² ΠΎΠ΄Π½Ρ ΠΈΠ· ΠΏΡΡΠ½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Ρ ΡΠΆΠ΅ Π΄ΠΎΠ»Π³ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π²Π΅Π΄Ρ, Π²Π΄ΡΡΠ³ ΡΡΠ°Π»ΠΎ Π²Π΅ΡΡΠΈ ΡΠ΅Π±Ρ ΠΈΠ· ΡΡΠΊ Π²ΠΎΠ½ ΠΏΠ»ΠΎΡ
ΠΎ ΡΠΏΡΡΡΡ Π΄Π²Π΅ Π½Π΅Π΄Π΅Π»ΠΈ ΠΏΠΎΡΠ»Π΅ Π²ΡΡΡΠ°Π²Π»Π΅Π½ΠΈΡ.
2) ΠΌΠ½Π΅ Π½Π° ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³ ΠΎΡΠ΄Π°Π»ΠΈ ΠΏΡΠΎΠ΅ΠΊΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠΆΠ΅ Π²ΡΠ» ΡΠ΅Π±Ρ Π΄ΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π΅ ΠΎΡΠ΅Π½Ρ Ρ
ΠΎΡΠΎΡΠΎ.
Π― ΡΠΆΠ΅ Π½Π΅ ΠΏΠΎΠΌΠ½Ρ, Π² ΠΊΠ°ΠΊΠΎΠΌ ΡΠΎΡΠ½ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΈ ΡΡΠΈ ΡΠΎΠ±ΡΡΠΈΡ, Π½ΠΎ ΠΏΠΎΡΠ»Π΅ Β«ΡΡΡΠ½ΠΎΠΉ ΠΏΡΡΠ½ΠΈΡΡΒ» Ρ ΡΠ΅ΡΠΈΠ» Π½Π°ΠΊΠΎΠ½Π΅Ρ-ΡΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Ρ Π΄Π°ΠΌΠΏΠ°ΠΌΠΈ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π΅ΡΠ°Π»ΡΠ½Π΅Π΅, ΡΡΠΎΠ±Ρ ΡΡΠΎ Π±ΠΎΠ»Π΅Π΅ Π½Π΅ Π±ΡΠ»ΠΎ Π΄Π»Ρ ΠΌΠ΅Π½Ρ ΡΡΡΠ½ΡΠΌ ΡΡΠΈΠΊΠΎΠΌ. ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π°Ρ, ΡΡΠΎ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ Π΄Π΅ΡΠ°Π»ΠΈ Ρ ΠΌΠΎΠ³ ΡΠΆΠ΅ Π·Π°ΠΏΠ°ΠΌΡΡΠΎΠ²Π°ΡΡ.
ΠΠΎ ΠΏΠ΅ΡΠ²ΠΎΠΌΡ ΡΠ»ΡΡΠ°Ρ ΡΠΈΠΌΠΏΡΠΎΠΌΡ Π±ΡΠ»ΠΈ ΡΠ°ΠΊΠΈΠ΅: Π²ΡΠ΅ ΠΏΠΎΡΠΎΠΊΠΈ, ΠΎΡΠ²Π΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ Π·Π°ΠΏΡΠΎΡΠΎΠ², Π²ΡΠΆΡΠ°Π½Ρ, Π½Π° Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
ΠΎΡΠΊΡΡΡΠΎ Π²ΡΠ΅Π³ΠΎ 11 ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ, ΠΈ ΡΠ΅ Π½Π΅ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ, Π±Π°Π·Π° Π³ΠΎΠ²ΠΎΡΠΈΠ»Π°, ΡΡΠΎ ΠΎΠ½ΠΈ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ recv sleep, ΡΠΎ Π΅ΡΡΡ ΠΎΠΆΠΈΠ΄Π°ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΆΠ΅ ΠΈΡ
Π½Π°ΡΠ½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ.
ΠΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠΆΠΈΠ²Π°Π»ΠΎ, Π½ΠΎ ΠΏΡΠΎΠΆΠΈΡΡ ΠΌΠΎΠ³Π»ΠΎ Π½Π΅Π΄ΠΎΠ»Π³ΠΎ, Π²Π΅ΡΠ΅ΡΠΎΠΌ ΡΠΎΠΉ ΠΆΠ΅ ΠΏΡΡΠ½ΠΈΡΡ ΠΆΠΈΠ»ΠΎ Π΄ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ, Π½ΠΎ ΡΠΆΠ΅ ΠΏΠΎΡΠ»Π΅ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ Π΄Π½Ρ ΡΠ°ΠΊΠΈ ΡΠ½ΠΎΠ²Π° ΡΠ²Π°Π»ΠΈΠ»ΠΎΡΡ. ΠΠ°ΡΡΠΈΠ½Π° Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ»Π° ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΉ: 11 ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ ΠΊ Π±Π°Π·Π΅, ΠΈ Π»ΠΈΡΡ ΠΎΠ΄ΠΈΠ½, Π²ΡΠΎΠ΄Π΅ Π±Ρ, ΡΡΠΎ-ΡΠΎ Π΄Π΅Π»Π°Π΅Ρ.
ΠΠ°ΠΌΡΡΡ, ΠΊΡΡΠ°ΡΠΈ, Π±ΡΠ»Π° Π½Π° ΠΌΠΈΠ½ΠΈΠΌΡΠΌΠ΅. Π‘ΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ OOM ΠΏΡΠΈΠ²ΡΠ» ΠΌΠ΅Π½Ρ ΠΊ ΠΏΠΎΠΈΡΠΊΡ ΠΏΡΠΈΡΠΈΠ½, Π½Π΅ ΠΌΠΎΠ³Ρ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π·Π½Π°Π½ΠΈΡ ΠΏΡΠΈ ΠΏΠΎΠΈΡΠΊΠ΅ ΠΏΡΠΈΡΠΈΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΈ Π½Π°ΡΠ°ΡΡ Π°ΠΊΡΠΈΠ²Π½ΡΡ Π±ΠΎΡΡΠ±Ρ Ρ OOM.
ΠΠΎΠ³Π΄Π° Ρ ΠΎΡΠΊΡΡΠ» Π΄Π°ΠΌΠΏ Π² JVVM, ΠΈΠ· Π½Π΅Π³ΠΎ Π±ΡΠ»ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎ ΡΡΠΎ-Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ½ΡΡΡ.
ΠΠΎΠ΄ΡΠΎΠ·Π½Π°Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΡΠ²Π°Π»ΠΎ, ΡΡΠΎ ΠΏΡΠΈΡΠΈΠ½Π° Π³Π΄Π΅-ΡΠΎ Π² ΡΠ°Π±ΠΎΡΠ΅ Ρ Π±Π°Π·ΠΎΠΉ.
ΠΠΎΠΈΡΠΊ ΡΡΠ΅Π΄ΠΈ ΠΊΠ»Π°ΡΡΠΎΠ² ΡΠΊΠ°Π·Π°Π» ΠΌΠ½Π΅, ΡΡΠΎ Π² ΠΏΠ°ΠΌΡΡΠΈ Π°ΠΆ 29 DataSource, Ρ
ΠΎΡΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π²ΡΠ΅Π³ΠΎ 7.
ΠΡΠΎ ΠΈ Π΄Π°Π»ΠΎ ΠΌΠ½Π΅ ΡΠΎΡΠΊΡ, ΠΎΡ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΠΎΡΡΠΎΠ»ΠΊΠ½ΡΡΡΡΡ, Π½Π°ΡΠ°ΡΡ ΡΠ°ΡΠΏΡΡΡΠ²Π°ΡΡ ΠΊΠ»ΡΠ±ΠΎΠΊ.
Π‘ΠΈΠ΄Π΅ΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»Π°ΡΡΠ²Π°ΡΡ Π² ΠΏΡΠΎΡΠΌΠΎΡΡΠΎΠ²ΡΠΈΠΊΠ΅ Π²ΡΠ΅ ΡΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π±ΡΠ»ΠΎ Π½Π΅ΠΊΠΎΠ³Π΄Π°, ΠΈ ΠΌΠΎΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π°ΠΊΠΎΠ½Π΅Ρ-ΡΠΎ ΠΏΡΠΈΠ²Π»Π΅ΠΊΠ»Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ° OQL Console, Ρ ΠΏΠΎΠ΄ΡΠΌΠ°Π», ΡΡΠΎ Π²ΠΎΡ ΠΎΠ½, ΠΌΠΎΠΌΠ΅Π½Ρ ΠΈΡΡΠΈΠ½Ρ β Ρ ΠΈΠ»ΠΈ Π½Π°ΡΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Ρ Π½Π° ΠΏΠΎΠ»Π½ΡΡ ΠΊΠ°ΡΡΡΠΊΡ, ΠΈΠ»ΠΈ ΡΠ°ΠΊ ΠΈ Π·Π°Π±ΡΡ Π½Π° Π²ΡΡ ΡΡΠΎ.
ΠΡΠ΅ΠΆΠ΄Π΅, ΡΠ΅ΠΌ Π½Π°ΡΠ°ΡΡ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅ Π±ΡΠ» Π·Π°Π΄Π°Π½ Π²ΠΎΠΏΡΠΎΡ Π³ΡΠ³Π»Ρ, ΠΈ ΠΎΠ½ Π»ΡΠ±Π΅Π·Π½ΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠ» ΡΠΏΠ°ΡΠ³Π°Π»ΠΊΡ (cheat sheet) ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ OQL Π² JVVM: http://visualvm.java.net/oqlhelp.html
Π‘Π½Π°ΡΠ°Π»Π° ΠΎΠ±ΠΈΠ»ΠΈΠ΅ ΡΠΆΠ°ΡΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΏΡΠΈΠ²Π΅Π»ΠΎ ΠΌΠ΅Π½Ρ Π² ΡΠ½ΡΠ½ΠΈΠ΅, Π½ΠΎ ΠΏΠΎΡΠ»Π΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π³ΡΠ³Π»-ΡΡ Π½Π° ΡΠ²Π΅Ρ ΡΠ°ΠΊΠΈ ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ Π²ΠΎΡ ΡΠ°ΠΊΠΎΠΉ OQL-Π·Π°ΠΏΡΠΎΡ:
ΠΡΠΎ ΡΠΆΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Π½Π°Ρ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½Π½Π°Ρ, ΡΠΈΠ½Π°Π»ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ ΡΡΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ° π
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π½Π° ΡΠΊΡΠΈΠ½ΡΠΎΡΠ΅:
ΠΠΎΡΠ»Π΅ Π½Π°ΠΆΠ°ΡΠΈΡ Π½Π° BasicDataSource#7 ΠΌΡ ΠΏΠΎΠΏΠ°Π΄Π°Π΅ΠΌ Π½Π° Π½ΡΠΆΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Instances:
Π§Π΅ΡΠ΅Π· Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π΄ΠΎ ΠΌΠ΅Π½Ρ Π΄ΠΎΡΠ»ΠΎ, ΡΡΠΎ Π΅ΡΡΡ ΠΎΠ΄Π½ΠΎ Π½Π΅ΡΡ
ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠ΅ΠΉ, ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π² ΡΠ΅Π³Π΅ Resource Π² ΡΠΎΠΌΠΊΠ΅ΡΠ΅, Π² ΡΠ°ΠΉΠ»Π΅ /conf/context.xml. ΠΠ΅Π΄Ρ Π² Π΄Π°ΠΌΠΏΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ maxTotal ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 8, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ, ΠΊΠ°ΠΊ ΠΌΡ ΡΠΊΠ°Π·ΡΠ²Π°Π»ΠΈ maxActive ΡΠ°Π²Π½ΡΠΌ 20β¦
Π’ΡΡ-ΡΠΎ Π΄ΠΎ ΠΌΠ΅Π½Ρ ΠΈ Π½Π°ΡΠ°Π»ΠΎ Π΄ΠΎΡ
ΠΎΠ΄ΠΈΡΡ, ΡΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΆΠΈΠ»ΠΎ Ρ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠ΅ΠΉ ΠΏΡΠ»Π° ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ Π²ΡΠ΅ ΡΡΠΈ Π΄Π²Π΅ Π½Π΅Π΄Π΅Π»ΠΈ!
ΠΠ»Ρ ΠΊΡΠ°ΡΠΊΠΎΡΡΠΈ Π½Π°ΠΏΠΈΡΡ ΡΡΡ, ΡΡΠΎ Π² ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Tomcat ΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠ»Π° ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ β DBCP, ΡΠΎ Π² 7ΠΌ ΡΠΎΠΌΠΊΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ DBCP Π²Π΅ΡΡΠΈΠΈ 1.4, Π° Π² 8ΠΌ ΡΠΎΠΌΠΊΠ΅ΡΠ΅ β ΡΠΆΠ΅ DBCP 2.0, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ, ΠΊΠ°ΠΊ Ρ ΠΏΠΎΡΠΎΠΌ Π²ΡΡΡΠ½ΠΈΠ», ΡΠ΅ΡΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ! Π ΠΏΡΠΎ maxTotal Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ ΡΠ°ΠΉΡΠ° Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ π
http://commons.apache.org/proper/commons-dbcp/
Β«Users should also be aware that some configuration options (e.g. maxActive to maxTotal) have been renamed to align them with the new names used by Commons Pool 2.Β»
ΠΡΠΈΡΠΈΠ½Ρ
ΠΠ±ΠΎΠ·Π²Π°Π» ΠΈΡ
ΠΏΠΎ Π²ΡΡΠΊΠΎΠΌΡ, ΡΡΠΏΠΎΠΊΠΎΠΈΠ»ΡΡ, ΠΈ ΡΠ΅ΡΠΈΠ» ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ.
ΠΠ°ΠΊ ΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ, ΠΊΠ»Π°ΡΡ BasicDataSourceFactory ΠΏΡΠΎΡΡΠΎ Π½Π°ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΡΡΠΎΡ ΡΠ°ΠΌΡΠΉ Resource, ΡΠΌΠΎΡΡΠΈΡ, Π΅ΡΡΡ Π»ΠΈ Π½ΡΠΆΠ½ΡΠ΅ Π΅ΠΌΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΠΈ Π·Π°Π±ΠΈΡΠ°Π΅Ρ ΠΈΡ
Π² ΠΏΠΎΡΠΎΠΆΠ΄Π°Π΅ΠΌΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ BasicDataSource, ΠΌΠΎΠ»ΡΠ° ΠΈΠ³Π½ΠΎΡΠΈΡΡΡ Π½Π°ΠΏΡΠΎΡΡ Π²ΡΡ, ΡΡΠΎ Π΅Π³ΠΎ Π½Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅Ρ.
Π’Π°ΠΊ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π»ΠΈ ΡΠ°ΠΌΡΠ΅ Π²Π΅ΡΡΠ»ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, maxActive => maxTotal, maxWait => maxWaitMillis, removeAbandoned => removeAbandonedOnBorrow & removeAbandonedOnMaintenance.
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ maxTotal, ΠΊΠ°ΠΊ ΠΈ ΡΠ°Π½Π΅Π΅, ΡΠ°Π²Π΅Π½ 8; removeAbandonedOnBorrow, removeAbandonedOnMaintenance = false, maxWaitMillis ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Β«ΠΆΠ΄Π°ΡΡ Π²Π΅ΡΠ½ΠΎΒ».
ΠΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ, ΡΡΠΎ ΠΏΡΠ» ΠΎΠΊΠ°Π·Π°Π»ΡΡ ΡΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°Π½ Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ; Π² ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΡΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ β ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠ»ΡΠ° ΠΆΠ΄ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΡΡΡΡ; ΠΈ Π΄ΠΎΠ±ΠΈΠ²Π°Π΅Ρ Π²ΡΡ ΠΌΠΎΠ»ΡΠ°Π½ΠΊΠ° Π² Π»ΠΎΠ³Π°Ρ
ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρ Β«Π·Π°Π±ΡΠΎΡΠ΅Π½Π½ΡΡ
Β» ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ β ΡΠΎ, ΡΡΠΎ ΠΌΠΎΠ³Π»ΠΎ Π±Ρ ΡΡΠ°Π·Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ, Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΌΠ΅ΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΠΌΡΠ΄Π°ΠΊ ΠΊΠΎΠ΄ Ρ
Π²Π°ΡΠ°Π΅Ρ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅, Π½ΠΎ Π½Π΅ ΠΎΡΠ΄Π°ΡΡ Π΅Π³ΠΎ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΠΏΠΎ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ ΡΠ²ΠΎΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ.
ΠΡΠΎ ΡΠ΅ΠΉΡΠ°Ρ Π²ΡΡ ΠΌΠΎΠ·Π°ΠΈΠΊΠ° ΡΠ»ΠΎΠΆΠΈΠ»Π°ΡΡ Π±ΡΡΡΡΠΎ, Π° Π΄ΠΎΠ±ΡΠ²Π°Π»ΠΈΡΡ ΡΡΠΈ Π·Π½Π°Π½ΠΈΡ Π΄ΠΎΠ»ΡΡΠ΅.
Β«Π’Π°ΠΊ Π±ΡΡΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎΒ», ΡΠ΅ΡΠΈΠ» Ρ, ΠΈ Π·Π°ΠΏΠΈΠ»ΠΈΠ» ΠΏΠ°ΡΡΠΈΠΊ (https://issues.apache.org/jira/browse/DBCP-435, Π²ΡΡΠ°Π·ΠΈΠ»ΡΡ Π² http://svn.apache.org/viewvc/commons/proper/dbcp/tags/DBCP_2_1/src/main/java/org/apache/commons/dbcp2/BasicDataSourceFactory.java?view=markup ), ΠΏΠ°ΡΡ Π±ΡΠ» ΠΏΡΠΈΠ½ΡΡ ΠΈ Π²ΠΎΡΡΠ» Π² Π²Π΅ΡΡΠΈΡ DBCP 2.1. ΠΠΎΠ³Π΄Π° ΠΈ Π΅ΡΠ»ΠΈ Tomcat 8 ΠΎΠ±Π½ΠΎΠ²ΠΈΡ Π²Π΅ΡΡΠΈΡ DBCP Π΄ΠΎ 2.1+, Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ Π°Π΄ΠΌΠΈΠ½Π°ΠΌ ΠΎΡΠΊΡΠΎΡΡΡΡ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΠ°ΠΉΠ½Ρ ΠΏΡΠΎ ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Resource π
ΠΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠΈΡΡΠ΅ΡΡΠ²ΠΈΡ ΠΌΠ½Π΅ Π»ΠΈΡΡ ΠΎΡΡΠ°Π»ΠΎΡΡ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ Π΅ΡΡ ΠΎΠ΄Π½Ρ Π΄Π΅ΡΠ°Π»Ρ β ΠΊΠ°ΠΊΠΎΠ³ΠΎ ΡΡΡΡΠ° Π² Π΄Π°ΠΌΠΏΠ΅ Π±ΡΠ»ΠΎ Π°ΠΆ 29 DataSource’ΠΎΠ² Π²ΠΌΠ΅ΡΡΠΎ Π²ΡΠ΅Π³ΠΎ 7 ΡΡΡΠΊ. Π Π°Π·Π³Π°Π΄ΠΊΠ° ΠΊΡΠΎΠ΅ΡΡΡ Π² Π±Π°Π½Π°Π»ΡΠ½ΠΎΠΉ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΠΊΠ΅, 7*4=28 +1=29.
ΠΠ° ΠΊΠ°ΠΆΠ΄ΡΡ ΠΏΠΎΠ΄ΠΏΠ°ΠΏΠΊΡ Π²Π½ΡΡΡΠΈ ΠΏΠ°ΠΏΠΊΠΈ /webapps ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Π΅ΡΡΡ ΡΠ²ΠΎΡ ΠΊΠΎΠΏΠΈΡ /conf/context.xml, Π° Π·Π½Π°ΡΠΈΡ ΡΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Resource, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΠΌ Π΅ΡΡΡ, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΌΠ½ΠΎΠΆΠ°ΡΡ Π½Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΠ±ΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠ»ΠΎΠ², ΠΏΠΎΠ΄Π½ΡΡΡΡ
Π² ΠΏΠ°ΠΌΡΡΠΈ ΡΠΎΠΌΠΊΠ΅ΡΠ°. ΠΠ° Π²ΠΎΠΏΡΠΎΡ Β«ΡΡΠΎ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π΄Π΅Π»Π°ΡΡ?Β» ΠΎΡΠ²Π΅Ρ Π±ΡΠ΄Π΅Ρ ΡΠ°ΠΊΠΈΠΌ: Π½ΡΠΆΠ½ΠΎ Π²ΡΠ½Π΅ΡΡΠΈ Π²ΡΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ Resource ΠΈΠ· /conf/context.xml Π² ΡΠ°ΠΉΠ» /conf/server.xml, Π²Π½ΡΡΡΡ ΡΠ΅Π³Π° GlobalNamingResources. Π’Π°ΠΌ ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ ΠΎΠ΄ΠΈΠ½, ΠΈΠΌΠ΅ΡΡΠΈΠΉΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Resource name=Β«UserDatabaseΒ», Π²ΠΎΡ ΠΏΠΎΠ΄ Π½ΠΈΠΌ ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΠΉΡΠ΅ ΡΠ²ΠΎΠΈ ΠΏΡΠ»Ρ. ΠΠ°Π»Π΅Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ΅Π³ΠΎΠΌ ResourceLink, Π΅Π³ΠΎ ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅, Π²Π½ΡΡΡΡ ΡΠ°ΠΉΠ»Π° /META-INF/context.xml β ΡΡΠΎ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ Β«per-app contextΒ», ΡΠΎ Π΅ΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠ°Π·Π²ΠΎΡΠ°ΡΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π£ ResourceLink ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ name ΠΈ global ΠΌΠΎΠ³ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°:
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π²ΡΡ ΡΡΠ°Π»ΠΎ ΡΡΠ½ΠΎ: 11 ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ Π±ΡΠ»ΠΎ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌ, Π°ΠΊΡΠΈΠ²Π½ΠΎΠΌ DataSource Π±ΡΠ»ΠΎ ΡΡΠ΅Π΄Π΅Π½ΠΎ 8 ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ (maxTotal = 8), ΠΈ Π΅ΡΡ ΠΏΠΎ minIdle=1 Π² ΡΡΡΡ Π΄ΡΡΠ³ΠΈΡ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ DataSource-ΠΊΠΎΠΏΠΈΡΡ .
Π ΡΡ ΠΏΡΡΠ½ΠΈΡΡ ΠΌΡ ΠΎΡΠΊΠ°ΡΠΈΠ»ΠΈΡΡ Π½Π° Tomcat 7, ΠΊΠΎΡΠΎΡΡΠΉ Π»Π΅ΠΆΠ°Π» ΡΡΠ΄ΡΡΠΊΠΎΠΌ, ΠΈ ΠΆΠ΄Π°Π», ΠΊΠΎΠ³Π΄Π° ΠΎΡ Π½Π΅Π³ΠΎ ΠΈΠ·Π±Π°Π²ΡΡΡΡ, ΡΡΠΎ Π΄Π°Π»ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠΏΠΎΠΊΠΎΠΉΠ½ΠΎ Π²ΠΎ Π²ΡΡΠΌ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ.
ΠΠ»ΡΡ ΠΏΠΎΠ·ΠΆΠ΅, ΡΠΆΠ΅ Π½Π° TC7, ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ»Π°ΡΡ ΡΡΠ΅ΡΠΊΠ° ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ, Π²ΡΡ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ removeAbandoned+logAbandoned. DBCP ΡΠ°Π΄ΠΎΡΡΠ½ΠΎ ΡΠΎΠΎΠ±ΡΠΈΠ» Π² Π»ΠΎΠ³ΡΠ°ΠΉΠ» catalina.log ΠΎ ΡΠΎΠΌ, ΡΡΠΎ
ΠΠΎΡ ΡΡΠΎΡ Π²ΠΎΡ ΠΏΠ»ΠΎΡ ΠΎΠΉΠΠ»ΠΎΡ ΠΎΠΉΠΠ΅ΡΠΎΠ΄ ΠΈΠΌΠ΅Π΅Ρ Π² ΡΠΈΠ³Π½Π°ΡΡΡΠ΅ Connection con, Π½ΠΎ Π²Π½ΡΡΡΠΈ Π±ΡΠ»Π° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ Β«con = getConnection();Β», ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈ ΡΡΠ°Π»Π° ΠΊΠ°ΠΌΠ½Π΅ΠΌ ΠΏΡΠ΅ΡΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ. Π‘ΡΠΏΠ΅ΡΠΠ»Π°ΡΡ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΠ΅Π΄ΠΊΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π° Π½Π΅Π³ΠΎ ΠΈ Π½Π΅ ΠΎΠ±ΡΠ°ΡΠ°Π»ΠΈ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ ΡΠ°ΠΊ Π΄ΠΎΠ»Π³ΠΎ. ΠΠ»ΡΡ ΠΊ ΡΡΠΎΠΌΡ, Π²ΡΠ·ΠΎΠ²Ρ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΠ»ΠΈ, Ρ ΡΠ°ΠΊ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, Π½Π΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ Π΄Π½Ρ, ΡΠ°ΠΊ ΡΡΠΎ Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΡΠΎ-ΡΠΎ ΠΈ ΠΏΠΎΠ΄Π²ΠΈΡΠ°Π»ΠΎ, ΡΠΎ Π½ΠΈΠΊΠΎΠΌΡ ΡΠΆΠ΅ Π½Π΅ Π±ΡΠ»ΠΎ Π΄Π΅Π»Π° Π΄ΠΎ ΡΡΠΎΠ³ΠΎ. Π Π² Π’ΡΠ‘Π°ΠΌΡΡΠΡΡΠ½ΠΈΡΡ ΠΏΡΠΎΡΡΠΎ Π·Π²ΡΠ·Π΄Ρ ΡΠΎΡΠ»ΠΈΡΡ, Π½Π°ΡΠ°Π»ΡΠ½ΠΈΠΊΡ Π΄Π΅ΠΏΠ°ΡΡΠ°ΠΌΠ΅Π½ΡΠ° Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΠ° ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΠ»ΠΎΡΡ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΊΠΎΠ΅-ΡΡΠΎ π
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ β2
Π§ΡΠΎ ΠΆΠ΅ ΠΊΠ°ΡΠ°Π΅ΡΡΡ Β«ΡΠΎΠ±ΡΡΠΈΡ β2Β» β ΠΌΠ½Π΅ ΠΎΡΠ΄Π°Π»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³, ΠΈ ΠΎΠ½ΠΎ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ
ΡΡΡ ΠΆΠ΅ Π²Π·Π΄ΡΠΌΠ°Π»ΠΎ ΡΠΏΠ°ΡΡΡ.
ΠΠ°ΠΌΠΏΡ ΠΏΠΎΠΏΠ°Π»ΠΈ ΡΠΆΠ΅ ΠΊΠΎ ΠΌΠ½Π΅, ΠΈ Ρ ΡΠ΅ΡΠΈΠ» ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΠΏΠΎΠΊΠΎΠ²ΡΡΡΡΡ ΠΈ ΠΈΡ
ΡΠΎΠΆΠ΅.
ΠΡΠΊΡΡΠ» Π΄Π°ΠΌΠΏ Π² JVVM, ΠΈ Β«ΡΡ-ΡΠΎ ΠΏΡΠΈΡΠ½ΡΠ»Β»:
Π§ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ ΠΈΠ· Object[], Π΄Π° Π΅ΡΡ ΠΈ Π² ΡΠ°ΠΊΠΎΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅?
( ΠΠΏΡΡΠ½ΡΠΉ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅, ΡΠ²ΠΈΠ΄Π΅Π» ΡΠΆΠ΅ ΠΏΡΠΈΡΠΈΠ½Ρ, ΠΏΡΠ°Π²Π΄Π°? π )
Π’Π°ΠΊ Ρ ΠΌΠ΅Π½Ρ Π·Π°ΡΠΎΠ΄ΠΈΠ»Π°ΡΡ ΠΌΡΡΠ»Ρ Β«Π½Ρ Π½Π΅ΡΠΆΠ΅Π»ΠΈ Π½ΠΈΠΊΡΠΎ ΡΠ°Π½Π΅Π΅ Π½Π΅ Π·Π°Π½ΠΈΠΌΠ°Π»ΡΡ ΡΡΠΈΠΌ, Π²Π΅Π΄Ρ Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° ΡΠΆΠ΅ Π΅ΡΡΡ Π³ΠΎΡΠΎΠ²ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ!Β». Π’Π°ΠΊ Ρ Π½Π°ΡΠΊΠ½ΡΠ»ΡΡ Π½Π° ΡΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ Π½Π° StackOverflow: http://stackoverflow.com/questions/2064427/recommendations-for-a-heap-analysis-tool-for-java.
ΠΠΎΡΠΌΠΎΡΡΠ΅Π² ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ, Ρ ΡΠ΅ΡΠΈΠ» ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡΡ Π½Π° MAT, Π½Π°Π΄ΠΎ Π±ΡΠ»ΠΎ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Ρ
ΠΎΡΡ ΡΡΠΎ-ΡΠΎ, Π° ΡΡΠΎ ΠΎΡΠΊΡΡΡΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ, Π΄Π° Π΅ΡΡ ΠΈ Ρ ΠΊΡΠ΄Π° Π±ΠΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ Π³ΠΎΠ»ΠΎΡΠΎΠ², ΡΠ΅ΠΌ Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ
ΠΏΡΠ½ΠΊΡΠΎΠ².
Eclipse Memory Analyzing Tool
ΠΡΠ°ΠΊ, MAT.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΡΠΊΠ°ΡΠΈΠ²Π°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ Eclipse, ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ MAT ΡΡΠ΄Π°, ΠΏΠΎΡΠΎΠΌΡ ΠΊΠ°ΠΊ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ MAT Π²Π΅Π΄ΡΡ ΡΠ΅Π±Ρ ΠΏΠ»ΠΎΡ
ΠΎ, ΡΠ°ΠΌ ΠΊΠ°ΠΊΠ°Ρ-ΡΠΎ ΡΠ΅ΡΡΠΎΠ²ΡΠΈΠ½Π° Ρ Π΄ΠΈΠ°Π»ΠΎΠ³Π°ΠΌΠΈ, Π² Π½ΠΈΡ
Π½Π΅ Π²ΠΈΠ΄Π½ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ Π² ΠΏΠΎΠ»ΡΡ
. ΠΡΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΊΡΠΎ-ΡΠΎ ΠΏΠΎΠ΄ΡΠΊΠ°ΠΆΠ΅Ρ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ
, ΡΠ΅Π³ΠΎ Π΅ΠΌΡ Π½Π΅ Ρ
Π²Π°ΡΠ°Π΅Ρ, Π½ΠΎ Ρ ΡΠ΅ΡΠΈΠ» ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ² MAT Π² Eclipse.
ΠΡΠΊΡΡΠ² Π΄Π°ΠΌΠΏ Π² MAT Ρ Π·Π°ΠΏΡΠΎΡΠΈΠ» Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Leak Suspects Report.
Π£Π΄ΠΈΠ²Π»Π΅Π½ΠΈΡ Π½Π΅ Π±ΡΠ»ΠΎ ΠΏΡΠ΅Π΄Π΅Π»Π°, ΡΠ΅ΡΡΠ½ΠΎ Π³ΠΎΠ²ΠΎΡΡ.
1.2 Π³ΠΈΠ³Π° Π²Π΅ΡΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π² Π±Π°Π·Ρ.
ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π²Π΅ΡΠΈΡ ΠΎΡ 17 Π΄ΠΎ 81 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡΠ°.
ΠΡ ΠΈ Π΅ΡΡ Β«Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎΒ» ΡΠ°ΠΌ ΠΏΡΠ».
ΠΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΠΎΠΌΠΎΠ³ ΠΎΡΡΡΡ Dominator Tree:
ΠΡΠΈΡΠΈΠ½ΠΎΠΉ Π²ΡΠ΅Ρ
ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ ΠΎΠΊΠ°Π·Π°Π»ΠΈΡΡ ΠΊΠΈΠ»ΠΎΠΌΠ΅ΡΡΡ SQLWarning’ΠΎΠ², Π±Π°Π·Π° Π½Π°ΡΡΠΎΠΉΡΠΈΠ²ΠΎ ΠΏΡΡΠ°Π»Π°ΡΡ Π΄Π°ΡΡ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ Β«010SK: Database cannot set connection option SET_READONLY_TRUE.Β», Π° ΠΏΡΠ» ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ BoneCP Π½Π΅ Π²ΡΡΠΈΡΠ°Π΅Ρ SQLWarning’ΠΈ ΠΏΠΎΡΠ»Π΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ Π² ΠΏΡΠ» (ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΠΎ Π³Π΄Π΅-ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°ΡΡ? ΠΠΎΠ΄ΡΠΊΠ°ΠΆΠΈΡΠ΅, Π΅ΡΠ»ΠΈ ΠΊΡΠΎ Π·Π½Π°Π΅Ρ).
ΠΡΠ³Π» ΡΠΊΠ°Π·Π°Π», ΡΡΠΎ ΡΠ°ΠΊΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ Sybase ASE ΠΈΠ·Π²Π΅ΡΡΠ½Π° Π΅ΡΡ Ρ 2004 Π³ΠΎΠ΄Π°: https://forum.hibernate.org/viewtopic.php?f=1&t=932731
ΠΡΠ»ΠΈ Π²ΠΊΡΠ°ΡΡΠ΅, ΡΠΎ Β«Sybase ASE doesn’t require any optimizations, therefore setReadOnly() produces a SQLWarning.Β», ΠΈ ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π²ΡΡ Π΅ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠΎ Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΏΠΎΡΠΎΠΌΡ ΠΊΠ°ΠΊ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ β ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π² ΠΏΡΠ» Π²ΡΠ΅ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ Π±Π°Π·Ρ ΠΎΡΠΈΡΠ°ΡΡΡΡ Π² ΡΠΈΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΎΠ½ΠΈ ΡΠΆΠ΅ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½ΠΈΠΊΠΎΠΌΡ Π½Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ.
Π DBCP ΡΠ°ΠΊΠΈ ΡΠΌΠ΅Π΅Ρ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ: http://svn.apache.org/viewvc/commons/proper/dbcp/tags/DBCP_1_4/src/java/org/apache/commons/dbcp/PoolableConnectionFactory.java?view=markup, ΠΌΠ΅ΡΠΎΠ΄ passivateObject(Object obj), Π² ΡΡΡΠΎΠΊΠ΅ 687 ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ conn.clearWarnings();, ΡΡΠΎΡ Π²ΡΠ·ΠΎΠ² ΠΈ ΡΠΏΠ°ΡΠ°Π΅Ρ ΠΎΡ ΠΊΠΈΠ»ΠΎΠΌΠ΅ΡΡΠΎΠ² SQLWarning’ΠΎΠ² Π² ΠΏΠ°ΠΌΡΡΠΈ.
ΠΠ± ΡΡΠΎΠΌ Ρ ΡΠ·Π½Π°Π» ΠΈΠ· ΡΠΈΠΊΠ΅ΡΠ°: https://issues.apache.org/jira/browse/DBCP-102
Π’Π°ΠΊΠΆΠ΅ ΠΌΠ½Π΅ ΠΏΠΎΠ΄ΡΠΊΠ°Π·Π°Π»ΠΈ ΠΏΡΠΎ Π²ΠΎΡ ΡΠ°ΠΊΠΎΠΉ ΡΠΈΠΊΠ΅Ρ Π² Π±Π°Π³ΡΡΠ΅ΠΊΠ΅ΡΠ΅: https://issues.apache.org/jira/browse/DBCP-234, Π½ΠΎ ΠΎΠ½ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΡΠΆΠ΅ Π²Π΅ΡΡΠΈΠΈ DBCP 2.0.
Π ΠΈΡΠΎΠ³Π΅ Ρ ΠΏΠ΅ΡΠ΅Π²ΡΠ» ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° DBCP (ΠΏΡΡΡΡ ΠΈ Π²Π΅ΡΡΠΈΠΈ 1.4). ΠΡΡΡΡ Π½Π°Π³ΡΡΠ·ΠΊΠ° Π½Π° ΡΠ΅ΡΠ²ΠΈΡ ΠΈ Π½Π΅ΠΌΠ°Π»Π΅Π½ΡΠΊΠ°Ρ (ΠΎΡ 800 Π΄ΠΎ 2ΠΊ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² ΠΌΠΈΠ½ΡΡΡ), Π½ΠΎ Π²ΡΡ ΠΆΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Π΅Π΄ΡΡ ΡΠ΅Π±Ρ Ρ ΠΎΡΠΎΡΠΎ, Π° ΡΡΠΎ Π³Π»Π°Π²Π½ΠΎΠ΅. Π ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΠ΄Π΅Π»Π°Π», ΠΏΠΎΡΠΎΠΌΡ ΠΊΠ°ΠΊ BoneCP ΡΠΆΠ΅ ΠΏΡΡΡ ΠΌΠ΅ΡΡΡΠ΅Π² Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ, ΠΏΡΠ°Π²Π΄Π°, Π΅ΠΌΡ Π½Π° ΡΠΌΠ΅Π½Ρ ΠΏΡΠΈΡΡΠ» HikariCP. ΠΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΊΠ°ΠΊ Π΄Π΅Π»Π° Π² Π΅Π³ΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠ°Ρ β¦
Π‘ΡΠ°ΠΆΠ°Π΅ΠΌΡΡ Ρ OOM
ΠΠΏΠ΅ΡΠ°ΡΠ»ΠΈΠ²ΡΠΈΡΡ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ MAT ΠΌΠ½Π΅ Π²ΡΡ ΡΠ°Π·Π»ΠΎΠΆΠΈΠ» ΠΏΠΎ ΠΏΠΎΠ»ΠΎΡΠΊΠ°ΠΌ, Ρ ΡΠ΅ΡΠΈΠ» Π½Π΅ Π·Π°Π±ΡΠ°ΡΡΠ²Π°ΡΡ ΡΡΠΎΡ Π΄Π΅ΠΉΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΈ ΠΏΠΎΠ·ΠΆΠ΅ ΠΎΠ½ ΠΌΠ½Π΅ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΠ»ΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΠΊΠ°ΠΊ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π΅ΡΡ ΠΎΡΡΠ°Π»ΠΈΡΡ Π²ΡΡΡΠ΅ΡΠΊΠΈΠ΅ Β«Π½Π΅ΡΡΡΡΠ½ΠΊΠΈΒ» β Π½Π΅ΡΡΡΡΠ½Π½ΡΠ΅ Π²Π΅ΡΠΈ Π² ΠΊΠΎΠ΄Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΊΠΎΠ΄Π΅ Ρ ΡΠ°Π½ΠΈΠΌΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΊΠ»Π΅ΠΈΠ²Π°Π΅Ρ Π»Π°ΡΡΡ. Π― ΠΈΡ ΠΎΡΠ»Π°Π²Π»ΠΈΠ²Π°Ρ Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ.
ΠΠΎΠΎΡΡΠΆΠΈΠ²ΡΠΈΡΡ ΠΎΠ±ΠΎΠΈΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ, Ρ ΠΏΡΠΈΠ½ΡΠ»ΡΡ ΠΊΠΎΠ²ΡΡΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΡΠΈΡΠ»Π°Π½Π½ΡΠΉ Π΄Π°ΠΌΠΏ Π² ΠΏΠΎΠΈΡΠΊΠ°Ρ
ΠΏΡΠΈΡΠΈΠ½ ΠΏΠ°Π΄Π΅Π½ΠΈΡ ΠΏΠΎ OOM.
ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π²ΡΠ΅ OOM ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠ»ΠΈ ΠΌΠ΅Π½Ρ ΠΊ TaskThread.
Π Π΅ΡΠ»ΠΈ Π½Π°ΠΆΠ°ΡΡ Π½Π° Π½Π°Π΄ΠΏΠΈΡΡ See stacktrace, ΡΠΎ Π΄Π°, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΊΠ°ΠΊ ΡΠ°Π· Π±Π°Π½Π°Π»ΡΠ½ΡΠΉ ΡΠ»ΡΡΠ°ΠΉ, ΠΊΠΎΠ³Π΄Π° ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΏΠΎΡΠΎΠΊ Π²Π΄ΡΡΠ³ Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎ ΡΠΏΠ°Π» ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ ΠΎΡΠΌΠ°ΡΡΠ°Π»ΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ²ΠΎΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ.
ΠΠ΄Π½Π°ΠΊΠΎ Π·Π΄Π΅ΡΡ Π½ΠΈΡΡΠΎ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΠΏΡΠΈΡΠΈΠ½Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ OOM, Π·Π΄Π΅ΡΡ Π»ΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ. ΠΠ°ΠΉΡΠΈ ΠΏΡΠΈΡΠΈΠ½Ρ ΠΌΠ½Π΅ ΠΏΠΎΠΊΠ°-ΡΡΠΎ, Π² ΡΠΈΠ»Ρ Π½Π΅Π·Π½Π°Π½ΠΈΡ Π²ΡΠ΅ΠΉ ΠΌΠ°Π³ΠΈΠΈ OQL Π² MAT, ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ JVVM.
ΠΠ°Π³ΡΡΠΆΠ°Π΅ΠΌ Π΄Π°ΠΌΠΏ ΡΠ°ΠΌ, ΠΈ ΠΏΡΡΠ°Π΅ΠΌΡΡ ΠΎΡΡΡΠΊΠ°ΡΡ ΠΏΡΠΈΡΠΈΠ½Ρ!
ΠΡΠΊΠ°ΡΡ ΠΌΠ½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅, ΠΈΠΌΠ΅Π½Π½ΠΎ Π²Π΅ΡΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ
, Π° ΠΏΠΎΡΠ΅ΠΌΡ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΡΠ½Π°ΡΠ°Π»Π° ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, Π΅ΡΡΡ Π»ΠΈ Π² ΠΏΠ°ΠΌΡΡΠΈ Statement’Ρ.
ΠΠ²Π° SybCallableStatement, ΠΈ ΠΎΠ΄ΠΈΠ½ SybPreparedStatement.
ΠΡΠΌΠ°Ρ, ΡΡΠΎ Π΄Π΅Π»ΠΎ ΡΡΠ»ΠΎΠΆΠ½ΠΈΡΡΡ, Π΅ΡΠ»ΠΈ Statement’ΠΎΠ² Π±ΡΠ΄Π΅Ρ ΠΊΡΠ΄Π° Π±ΠΎΠ»ΡΡΠ΅, Π½ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΡΠΈΡ
ΡΠΎΠ²Π°Π² ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
Π·Π°ΠΏΡΠΎΡΠΎΠ², ΡΠΊΠ°Π·Π°Π² Π² where Π½ΡΠΆΠ½ΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ, Π΄ΡΠΌΠ°Ρ, Π²ΡΡ Ρ ΠΠ°Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ. ΠΠ»ΡΡ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅, ΡΡΠΎΠΈΡ Ρ
ΠΎΡΠΎΡΠ΅Π½ΡΠΊΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π² MAT, ΡΡΠΎ Π·Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΡΡΠ°Π΅ΡΡΡ ΠΎΡΠΌΠ°ΡΡΠ°Π»ΠΈΡΡ ΠΏΠΎΡΠΎΠΊ, ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΈ ΡΡΠ°Π½Π΅Ρ ΠΏΠΎΠ½ΡΡΠ½Π΅Π΅, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΈΠ· Statement’ΠΎΠ² Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΊΠ°ΡΡ.
ΠΠ΅ ΡΠΎ, ΡΡΠΎ Β«Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅Β» Π²ΡΠ·ΠΎΠ²Ρ.
Π Π²ΠΎΡ ΠΈ Π΄ΠΈΡΡ!
ΠΠ»Ρ ΡΠΈΡΡΠΎΡΡ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΈΠ½ΡΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ Π·Π°ΠΏΡΠΎΡ Π² Π»ΡΠ±ΠΈΠΌΠΎΠΉ ΠΠ-IDE, ΠΈ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ΅Π½Ρ Π΄ΠΎΠ»Π³ΠΎ ΠΎΡΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ, Π° Π΅ΡΠ»ΠΈ ΠΏΠΎΠΊΠΎΠΏΠ°ΡΡΡΡ Π² Π½Π΅Π΄ΡΠ°Ρ
Ρ
ΡΠ°Π½ΠΈΠΌΠΊΠΈ, ΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ ΡΠ°ΠΌ ΠΏΡΠΎΡΡΠΎ ΠΈΠ· Π±Π°Π·Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π°ΠΌ Π½Π΅ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ, Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ 2 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π° ΡΡΡΠΎΠΊ ΠΏΠΎ ΡΠ°ΠΊΠΎΠΌΡ Π·Π°ΠΏΡΠΎΡΡ Ρ ΡΠ°ΠΊΠΈΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ. ΠΡΠΈ Π΄Π²Π° ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π° Π΄Π°ΠΆΠ΅ Π²Π»Π°Π·ΡΡ Π² ΠΏΠ°ΠΌΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½ΠΎ Π²ΠΎΡ ΠΏΠΎΠΏΡΡΠΊΠ° ΠΎΡΠΌΠ°ΡΡΠ°Π»ΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΠ°ΡΠ°Π»ΡΠ½ΠΎΠΉ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π’Π°ΠΊΠΎΠ΅ ΡΠ΅Π±Π΅ Ρ
Π°ΡΠ°ΠΊΠΈΡΠΈ. π
ΠΡΠΈ ΡΡΠΎΠΌ GC ΡΡΠ°ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ±ΠΈΡΠ°Π΅Ρ Π²ΡΠ΅ ΡΠ»ΠΈΠΊΠΈ, Π½ΠΎ Π½Π΅ ΡΠΏΠ°ΡΠ»ΠΎ Π΅Π³ΠΎ ΡΡΠΎ, Π²ΡΡ ΠΆΠ΅ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΠΎΡΡΠ°Π»ΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ, ΠΈ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ Π½Π°ΠΊΠ°Π·Π°Π½.
ΠΠΎΡΠ΅ΠΌΡ-ΡΠΎ ΠΏΠΎΡΠ»Π΅ Π²ΡΠ΅Π³ΠΎ ΡΡΠΎΠ³ΠΎ ΡΠ°ΡΡΠΊΠ°Π·Π° ΠΏΠΎΡΡΠ²ΡΡΠ²ΠΎΠ²Π°Π» ΡΠ΅Π±Ρ ΡΠ΅ΠΌ Π΅ΡΡ Π½Π΅ΡΠ΄Π°ΡΠ½ΠΈΠΊΠΎΠΌ.
ΠΡΠΎΡΠ°Π½ΠΈΠ΅
ΠΠΎΡ ΠΈ Π·Π°ΠΊΠΎΠ½ΡΠΈΠ»ΠΎΡΡ ΠΌΠΎΡ ΠΏΠΎΠ²Π΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅, Π½Π°Π΄Π΅ΡΡΡ, ΠΠ°ΠΌ ΠΏΠΎΠ½ΡΠ°Π²ΠΈΠ»ΠΎΡΡ π
Π₯ΠΎΡΠ΅Π» Π±Ρ Π²ΡΡΠ°Π·ΠΈΡΡ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ½ΠΎΡΡΡ ΡΠ²ΠΎΠ΅ΠΌΡ Π½Π°ΡΠ°Π»ΡΠ½ΠΈΠΊΡ, ΠΎΠ½ Π΄Π°Π» ΠΌΠ½Π΅ Π²ΡΠ΅ΠΌΡ Π²ΠΎ Π²ΡΡΠΌ ΡΡΠΎΠΌ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ. Π‘ΡΠΈΡΠ°Ρ ΡΡΠΈ Π½ΠΎΠ²ΡΠ΅ Π·Π½Π°Π½ΠΈΡ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌΠΈ.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π΄Π΅Π²ΡΡΠΊΠ°ΠΌ ΠΈΠ· Scorini Π·Π° Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎ Π²ΠΊΡΡΠ½ΡΠΉ ΠΊΠΎΡΠ΅, Π½ΠΎ ΠΎΠ½ΠΈ Π½Π΅ ΠΏΡΠΎΡΡΡΡ ΡΡΠΈΡ
ΡΠ»ΠΎΠ² Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ½ΠΎΡΡΠΈ β Ρ Π΄Π°ΠΆΠ΅ ΡΠΎΠΌΠ½Π΅Π²Π°ΡΡΡ, ΡΡΠΎ ΠΎΠ½ΠΈ Π·Π½Π°ΡΡ ΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠΈ Π₯Π°Π±ΡΠ°Ρ
Π°Π±ΡΠ° π
Π₯ΠΎΡΠ΅Π»ΠΎΡΡ Π±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ
Π΅ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ ΠΈΠ½ΡΡ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ, Π±ΡΠ΄Ρ ΠΎΡΠ΅Π½Ρ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½.
ΠΡΠΌΠ°Ρ, ΡΠ°ΠΌΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠΈΡΠ°ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΊ MATβ¦
UPD2 (2015-10-28) | Π‘Π»ΡΡΠ°ΠΉ Π½ΠΎΠΌΠ΅Ρ Π΄Π²Π° ΡΡΠΈ
(ΠΡΠ»ΠΎ ΠΏΡΠΈΠ½ΡΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠΏΠΈΡΠ°ΡΡ ΡΡΠΎ ΡΡΠ΄Π° ΠΊΠ°ΠΊ Π°ΠΏΠ΄Π΅ΠΉΡ, Π° Π½Π΅ ΠΏΠΈΠ»ΠΈΡΡ Π½ΠΎΠ²ΡΡ ΡΡΠ°ΡΡΡ ΠΎ ΡΠΎΠΌ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠΌ):
ΠΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΉ ΡΠ»ΡΡΠ°ΠΉ, Π½ΠΎ ΡΠΆΠ΅ Ρ ΠΡΠ°ΠΊΠ»ΠΎΠ²ΠΎΠΉ Π±Π°Π·ΠΎΠΉ.
ΠΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΈΡΡ Ρ XML, ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡ ΠΏΠΎΠΈΡΠΊΠΈ ΠΏΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠΌΡ ΡΠΎΡ
ΡΠ°Π½ΡΠ½Π½ΠΎΠ³ΠΎ XML-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°. Π ΠΎΠ±ΡΠ΅ΠΌ, ΡΡΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈΠ½ΠΎΠ³Π΄Π° Π΄Π°Π²Π°Π» ΠΎ ΡΠ΅Π±Π΅ Π·Π½Π°ΡΡ ΡΠ΅ΠΌ, ΡΡΠΎ Π²Π΄ΡΡΠ³ Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΈΠ½ΡΡΠ°Π½ΡΠΎΠ² ΠΏΠ΅ΡΠ΅ΡΡΠ°Π²Π°Π» ΠΏΠΎΠ΄Π°Π²Π°ΡΡ ΠΏΡΠΈΠ·Π½Π°ΠΊΠΈ ΠΆΠΈΠ·Π½ΠΈ.
ΠΠΎΡΡΡΠ² Β«Ρ
ΠΎΡΠΎΡΠΈΠΉΒ» ΡΠ»ΡΡΠ°ΠΉ ΠΏΠΎΡΡΠ΅Π½ΠΈΡΠΎΠ²Π°ΡΡΡΡ Π½Π° ΠΊΠΎΡΠΊΠ°Ρ
, Ρ ΡΠ΅ΡΠΈΠ» ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π΅Π³ΠΎ Π΄Π°ΠΌΠΏΡ ΠΏΠ°ΠΌΡΡΠΈ.
ΠΠ΅ΡΠ²ΠΎΠ΅, ΡΡΠΎ Ρ ΡΠ²ΠΈΠ΄Π΅Π», Π±ΡΠ»ΠΎ Β«Ρ Π²Π°Ρ ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½Π½Π΅ΠΊΡΠΎΠ² Π² ΠΏΠ°ΠΌΡΡΠΈ ΠΎΡΡΠ°Π»ΠΎΡΡΒ». 21ΠΊ. Π ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΉ oracle.xdb.XMLType ΡΠΎΠΆΠ΅ Π΄Π°Π²Π°Π» ΠΆΠ°ΡΡ. Β«ΠΠΎ ΡΡΠΎ ΠΆΠ΅ ΠΡΠ°ΠΊΠ»!Β», Π²Π΅ΡΡΠ΅Π»ΠΎΡΡ Ρ ΠΌΠ΅Π½Ρ Π² Π³ΠΎΠ»ΠΎΠ²Π΅. ΠΠ°Π±Π΅Π³Π°Ρ Π²ΠΏΠ΅ΡΡΠ΄ ΡΠΊΠ°ΠΆΡ ΡΡΠΎ ΡΠ°ΠΊΠΈ Π΄Π°, ΠΎΠ½ Π²ΠΈΠ½ΠΎΠ²Π°Ρ.
ΠΡΠ°ΠΊ, Π²ΠΈΠ΄ΠΈΠΌ ΠΊΡΡΡ T4CConnection, ΠΊΠΎΡΠΎΡΡΠ΅ Π»Π΅ΠΆΠ°Ρ Π² HashMap$Entry. ΠΠ±ΡΠ°ΡΠΈΠ» Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΡΠ°Π·Ρ, ΡΡΠΎ Π²ΡΠΎΠ΄Π΅ Π±Ρ ΠΈ SoftHashMap, ΡΡΠΎ, Π²ΡΠΎΠ΄Π΅ ΠΊΠ°ΠΊ, Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΠ·Π½Π°ΡΠ°ΡΡ, ΡΡΠΎ ΠΎΠ½ΠΎ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²ΡΡΠ°ΡΡΠ°ΡΡ Π΄ΠΎ ΡΠ°ΠΊΠΈΡ
ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ². ΠΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΈ ΡΠ°ΠΌΠΈ β 50-60 ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡ Π² ΠΊΠΎΠ½Π½Π΅ΠΊΡΠ΅, ΠΈ ΠΈΡ
ΡΠ΅Π°Π»ΡΠ½ΠΎ ΠΠΠΠΠ.
ΠΠΎΡΠΌΠΎΡΡΠ΅Π², ΡΡΠΎ ΡΠΎΠ±ΠΎΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ HashMap$Entry β ΡΠ²ΠΈΠ΄Π΅Π», ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΠΊΠ°ΡΡΠΈΠ½Π° ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Π°, Π²ΡΡ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ SoftHashMap, Ρ ΠΡΠ°ΠΊΠ»ΠΎΠ²ΡΠΌΠΈ ΠΊΠΎΠ½Π½Π΅ΠΊΡΠ°ΠΌΠΈ.
Π§ΡΠΎ, ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ, ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π°Π»ΠΎΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΎΠΉ. HashMap$Entry Π±ΡΠ»ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΌΠΎΡΠ΅, ΠΈ ΠΎΠ½ΠΈ Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ ΡΠ°ΠΊΡΠΌΠΌΡΠ»ΠΈΡΠΎΠ²Π°Π»ΠΈΡΡ Π²Π½ΡΡΡΠΈ oracle.xdb.SoftHashMap.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ Π΄Π°ΠΌΠΏΠ΅ ΠΊΠ°ΡΡΠΈΠ½Π° Π±ΡΠ»Π° ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅. ΠΠΎ Dominator Tree Π±ΡΠ»ΠΎ Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ Π²Π½ΡΡΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Entry Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ ΡΡΠΆΡΠ»ΡΠΉ ΡΠ°ΠΊΠΎΠΉ BinXmlProcessorImpl.
-=-=-
ΠΡΠ»ΠΈ ΡΡΠ΅ΡΡΡ, ΡΡΠΎ Ρ Π² ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ Π±ΡΠ» Π½Π΅ ΡΠΈΠ»ΡΠ½ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ xdb, ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ ΡΠ²ΡΠ·Π°Π½ Ρ XML, ΡΠΎ, Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΡΠ΅ΡΡΠ²ΡΠΈΡΡ, Ρ ΡΠ΅ΡΠΈΠ», ΡΡΠΎ Π½Π°Π΄ΠΎ Π±Ρ ΠΏΠΎΠ³ΡΠ³Π»ΠΈΡΡ, Π±ΡΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΊΡΠΎ-ΡΠΎ ΡΠΆΠ΅ Π² ΠΊΡΡΡΠ΅, ΡΡΠΎ ΡΠΎ Π²ΡΠ΅ΠΌ ΡΡΠΈΠΌ Π½ΡΠΆΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ. Π ΡΡΡΡΡ Π½Π΅ ΠΎΠ±ΠΌΠ°Π½ΡΠ»ΠΎ, ΠΏΠΎ Π·Π°ΠΏΡΠΎΡΡ Β«oracle.xdb.SoftHashMap T4CConnectionΒ» Π½Π°ΡΠ»ΠΎΡΡ
ΡΠ°Π· piotr.bzdyl.net/2014/07/memory-leak-in-oracle-softhashmap.html
ΠΈ Π΄Π²Π° leakfromjavaheap.blogspot.com/2014/02/memory-leak-detection-in-real-life.html
Π£ΡΠ²Π΅ΡΠ΄ΠΈΠ²ΡΠΈΡΡ, ΡΡΠΎ ΡΡΡ Π²ΡΡ-ΡΠ°ΠΊΠΈ ΠΊΠΎΡΡΠΊ Ρ ΠΡΠ°ΠΊΠ»Π°, Π΄Π΅Π»ΠΎ ΠΎΡΡΠ°Π²Π°Π»ΠΎΡΡ Π·Π° ΠΌΠ°Π»ΡΠΌ.
ΠΠΎΠΏΡΠΎΡΠΈΠ» Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° ΠΠ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅: