рдкрд░реНрдореЗрди рдореЗрдореЛрд░реА рд▓реАрдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЬрд╛рд╡рд╛ рдореЗрдВ

рдЖрдк рдХрд┐рд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ?



рдЬреЛ рд▓реЛрдЧ рдЬрд╛рд╡рд╛ рдореЗрдВ рд╡реЗрдм рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдереЗ, рд╢рд╛рдпрдж рдЙрдиреНрд╣реЗрдВ java.lang.OutOfMemoryError: PermGen space



рдЬреИрд╕реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рдпрд╣ рд╣реЛрддрд╛ рд╣реИ, рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рд╕рд░реНрд╡рд░ рдХреЗ рднреАрддрд░ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╕рд░реНрд╡рд░ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд┐рдП рдмрд┐рдирд╛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХреЗ рдмрд╛рджред рд╕рд░реНрд╡рд░ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд┐рдП рдмрд┐рдирд╛ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдирд╛ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╕рд░реНрд╡рд░ рдХреЛ рд╕реНрд╡рдпрдВ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдордп рддрдХ рдЗрдВрддрдЬрд╛рд░ рди рдХрд░рдирд╛ рдкрдбрд╝реЗред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХрдИ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рддреИрдирд╛рдд рд╣реИрдВ, рддреЛ рдкреВрд░реЗ рд╕рд░реНрд╡рд░ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛ рдПрдХ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд▓рдВрдмрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрд╛ рдкреВрд░реЗ рд╕рд░реНрд╡рд░ рдХреЛ рдмрд╕ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдиреНрдп рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рджрд┐рдорд╛рдЧ рдореЗрдВ рдЖрдиреЗ рд╡рд╛рд▓рд╛ рдкрд╣рд▓рд╛ рд╕рдорд╛рдзрд╛рди рдЬреЗрд╡реАрдПрдо рдХреЛ рдЙрдкрд▓рдмреНрдз рдкрд░рдо рдореЗрдореЛрд░реА рдХреА рдЕрдзрд┐рдХрддрдо рдорд╛рддреНрд░рд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХрд░рдирд╛ рд╣реИ (рдЖрдк рдЗрд╕реЗ -XX:MaxPermSize



рд╕рд╛рде рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ), рд▓реЗрдХрд┐рди рдпрд╣ рдХреЗрд╡рд▓ рджреБрд░реНрдШрдЯрдирд╛ рдореЗрдВ рджреЗрд░реА рдХрд░реЗрдЧрд╛, рдХреБрдЫ рдкреБрдирд░рд╛рд░рдВрдн рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдЖрдкрдХреЛ рдлрд┐рд░ рд╕реЗ OutOfMemoryError



рдорд┐рд▓реЗрдЧрд╛ред рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЖрдк рдПрдХ рдЪрд╛рд▓реВ рд╕рд░реНрд╡рд░ рдкрд░ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкреБрдирдГ рдЖрд░рдВрдн рдФрд░ рдлрд┐рд░ рд╕реЗ рдХрд░ рд╕рдХреЗрдВ, рдЬрд┐рддрдиреА рдмрд╛рд░ рдЪрд╛рд╣реЗрдВред PermGen рдкрд░ рдХрд╛рдмреВ рдкрд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдФрд░ рдЖрдЧреЗ рдХреА рдЪрд░реНрдЪрд╛ рд╣реЛрдЧреАред





рдкрд░реНрдордЧреЗрди рдХреНрдпрд╛ рд╣реИ?



рдкрд░реНрдордЧреЗрди - рд╕реНрдерд╛рдпреА рдкреАрдврд╝реА рдЬреЗрд╡реАрдПрдо рдореЗрдВ рдПрдХ рдореЗрдореЛрд░реА рдХреНрд╖реЗрддреНрд░ рд╣реИ рдЬрд┐рд╕реЗ рдЬрд╛рд╡рд╛ рд╡рд░реНрдЧ рд╡рд┐рд╡рд░рдг рдФрд░ рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЬрдм рдЖрдк рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕рднреА рдХрдХреНрд╖рд╛рдПрдВ рдПрдХ рдирдП рдкрд░ рд▓реЛрдб рд╣реЛрддреА рд╣реИрдВ рдФрд░ рдкрд░реНрдордЧреЗрди рдореЗрдореЛрд░реА рдХреЛ рднрд░рддреА рд╣реИрдВред рдПрдХ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рд╡рд░реНрдЧ рд╡рд┐рд╡рд░рдг рджрд╕рд┐рдпреЛрдВ рдореЗрдЧрд╛рдмрд╛рдЗрдЯ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред рдЬрд╛рд╡рд╛ рдореЗрдВ рдирд╡рд╛рдЪрд╛рд░реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдиреЗ рд╡рд╛рд▓реЛрдВ рдиреЗ рд╕реБрдирд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЬрд╛рд╡рд╛ 8 рдореЗрдВ PermGen рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣рд╛рдВ рдЖрдк рд╕реЛрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЕрдирдиреНрдд рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЖрдЦрд┐рд░рдХрд╛рд░ рдареАрдХ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдЕрдм рдкрд░реНрдордЧреЗрди рдореЗрдореЛрд░реА рдХреА рдХрдореА рд╕реЗ рджреБрд░реНрдШрдЯрдирд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдпрд╣ рдорд╛рдорд▓рд╛ рдирд╣реАрдВ рд╣реИ, рдореЛрдЯреЗ рддреМрд░ рдкрд░, PermGen рдХреЛ рдЕрдм рдХреЗрд╡рд▓ Metaspace рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЖрдкрдХреЛ рдЕрднреА рднреА рдПрдХ OutOfMemoryError



рдорд┐рд▓рддрд╛ рд╣реИред



рдмрдВрдж рдХрд░реЛред рд▓реЗрдХрд┐рди рдХреВрдбрд╝рд╛ рдЙрдард╛рдиреЗ рд╡рд╛рд▓реЗ рдХрд╛ рдХреНрдпрд╛?



рд╣рдо рд╕рднреА рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЬрд╛рд╡рд╛ рдореЗрдВ рдПрдХ рдХрдЪрд░рд╛ рдХрд▓реЗрдХреНрдЯрд░ рд╣реИ рдЬреЛ рд╕рднреА рдЕрдкреНрд░рдпреБрдХреНрдд рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рддрд╛ рд╣реИред рдпрд╣ PermGen рдореЗрдВ рдЕрдкреНрд░рдпреБрдХреНрдд рд╡рд░реНрдЧреЛрдВ рдХреЛ рднреА рдЗрдХрдЯреНрдард╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЕрдЧрд░ рдпрд╣ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдореЗрдореЛрд░реА рд▓реАрдХ рдирд╣реАрдВ рд╣реИрдВред



рд╕реЗрдЯрдЕрдк рдХреЗ рд▓рд┐рдП, рдХреБрдЫ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬ рд╣реИрдВ, рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдпреБрдХреНрддрд┐рдпрд╛рдВ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП -XX:+CMSClassUnloadingEnabled



, -XX:+CMSPermGenSweepingEnabled



, -XX:+UseConcMarkSweepGC



ред рдореИрдВрдиреЗ рдЧрд╣рд░реА рдЦреБрджрд╛рдИ рдирд╣реАрдВ рдХреА рдФрд░ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬ рдХреА рддрд▓рд╛рд╢ рдХреА, рдФрд░ рдкрд░реАрдХреНрд╖рдг рдФрд░ рддреНрд░реБрдЯрд┐ рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдХрд┐ рдЬрд╛рд╡рд╛ 7 рдФрд░ рдЯреЙрдордХреИрдЯ 7 рдХреЗ рд▓рд┐рдП рдЬреЗрд╡реАрдПрдо рд╡рд┐рдХрд▓реНрдк -XX:+UseConcMarkSweepGC



рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдФрд░ рдкрд░реНрдпрд╛рдкреНрдд рдерд╛ -XX:+UseConcMarkSweepGC



ред рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдХрдЪрд░рд╛ рд╕рдВрдЧреНрд░рд╣ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рдмрджрд▓ рджреЗрдЧрд╛, рдпрджрд┐ рдЖрдк рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИрдВ рдХрд┐ рдЖрдкрдХрд╛ рдЖрд╡реЗрджрди рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ рдЦрд░рд╛рдм рдирд╣реАрдВ рд╣реЛрдЧрд╛, рддреЛ рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдпрд╛ рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрдЪрд░рд╛ рд╕рдВрдЧреНрд░рд╣ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдкреНрд░рд▓реЗрдЦрди рдФрд░ рддреБрд▓рдирд╛ рдХреА рддрд▓рд╛рд╢ рдХрд░реЗрдВред рд╢рд╛рдпрдж рдЖрдкрдХреЛ рдХреЗрд╡рд▓ PermGen рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдЖрдк рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдПрдХ рдореЗрдореЛрд░реА рд▓реАрдХ рд╣реИ, рдЗрд╕рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ - рдкрд░ рдкрдврд╝реЗрдВред



рдПрдХ рдкрд░реНрдореЗрди рдореЗрдореЛрд░реА рд▓реАрдХ рдХреНрдпреЛрдВ рд╣реИ?



рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреНрд▓рд╛рд╕ рд▓реЛрдбрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╢рдмреНрджред рдХрдХреНрд╖рд╛ рд▓реЛрдбрд░ рдЬрд╛рд╡рд╛ рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИрдВ рдЬреЛ рд▓реЛрдбрд┐рдВрдЧ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИрдВред рд╡реЗрдм рд╕рд░реНрд╡рд░ рдореЗрдВ рдХреНрд▓рд╛рд╕ рд▓реЛрдбрд░ рдХрд╛ рдПрдХ рдкрджрд╛рдиреБрдХреНрд░рдо рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рдХреНрд▓рд╛рд╕ рд▓реЛрдбрд░ рд╣реИ, рд╕рд╛рде рд╣реА рдХрдИ рд╕рд╛рдорд╛рдиреНрдп рдХреНрд▓рд╛рд╕ рд▓реЛрдбрд░ рд╣реИрдВред рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рднреАрддрд░ рдХрдХреНрд╖рд╛рдПрдВ рдЙрд╕ рд▓реЛрдбрд░ рджреНрд╡рд╛рд░рд╛ рд▓реЛрдб рдХреА рдЬрд╛рддреА рд╣реИрдВ рдЬреЛ рдЗрд╕ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИред рд╕рд┐рд╕реНрдЯрдо рдХреНрд▓рд╛рд╕реЗрд╕ рдФрд░ рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ рдЖрд╡рд╢реНрдпрдХ рдХрдХреНрд╖рд╛рдПрдВ рдЖрдо рдХреНрд▓рд╛рд╕ рд▓реЛрдбрд░ рджреНрд╡рд╛рд░рд╛ рд▓реЛрдб рдХреА рдЬрд╛рддреА рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЯреЙрдордХреИрдЯ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╛рд╕ рд▓реЛрдбрд░ рдХреЗ рдкрджрд╛рдиреБрдХреНрд░рдо рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХреИрд╕реЗ рдХреА рдЬрд╛рддреА рд╣реИ, рдЖрдк рдпрд╣рд╛рдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред



рддрд╛рдХрд┐ рдХрдЪрд░рд╛ рд╕рдВрдЧреНрд░рд╣рдХрд░реНрддрд╛ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рднреА рд╡рд░реНрдЧреЛрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░ рд╕рдХреЗ, рдЙрдиреНрд╣реЗрдВ рдЗрд╕ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдмрд╛рд╣рд░ рд╕рдВрджрд░реНрднрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдм рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдЬрд╛рд╡рд╛ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдЕрдкрдиреА рдХрдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрджрд░реНрдн рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддред рд╡рд░реНрдЧ рдСрдмреНрдЬреЗрдХреНрдЯ java.lang.Class



, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рд╡рд░реНрдЧ рдЙрд╕ рдХреНрд▓рд╛рд╕ рд▓реЛрдбрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдиреЗ рдЗрд╕ рд╡рд░реНрдЧ рдХреЛ рд▓реЛрдб рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рд╡рд░реНрдЧ рд▓реЛрдбрд░ рдЙрди рд╕рднреА рд╡рд░реНрдЧреЛрдВ рдХреЗ рд▓рд┐рдВрдХ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдЙрд╕рдиреЗ рд▓реЛрдб рдХрд┐рдпрд╛ рдерд╛ред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд╣рд░реА рд▓рд┐рдВрдХ рдХрдЪрд░рд╛ рд╕рдВрдЧреНрд░рд╣рдХрд░реНрддрд╛ рдХреЗ рд╕рд╛рде рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрдерддрд╛ рдХреЗ рд╕рд╛рде рд╕рднреА рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рдЦреАрдВрдЪрддрд╛ рд╣реИред







рд░рд┐рд╕рд╛рд╡ рдХрд╛ рдПрдХ рдФрд░ рдХрд╛рд░рдг рдПрдХ рдзрд╛рдЧрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдЬрдм рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдЗрд╕реЗ рд░реЛрдХрд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдПрдХ рдХреНрд▓рд╛рд╕ рд▓реЛрдбрд░ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рд▓рд┐рдВрдХ рднреА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред



рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдПрдХ рд▓реЛрдХрдкреНрд░рд┐рдп рд▓реАрдХ рд╡рд┐рдХрд▓реНрдк ThreadLocal



рд╡реИрд░рд┐рдПрдмрд▓ рд╣реИ, рдЬрд┐рд╕реЗ рдПрдХ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдПрдХ рд╕рд╛рдЭрд╛ рдкреВрд▓ рд╕реЗ рдереНрд░реЗрдб рдХреЗ рд▓рд┐рдП рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╕реНрдЯреНрд░реАрдо рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрджрд░реНрдн рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред рд╕рд╛рдЭрд╛ рдкреВрд▓ рд╕реЗ рдПрдХ рдзрд╛рдЧрд╛ рдирд╖реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдирд╖реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рднреА рд╡рд░реНрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдкреВрд░реЗ рдХреНрд▓рд╛рд╕ рд▓реЛрдбрд░ рдХреЛ рдирд╖реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред



рдорд╛рдирдХ рдЯреЙрдордХреИрдЯ рдЙрдкрдХрд░рдг



рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдкрд░реНрдордЧреЗрди рдореЗрдореЛрд░реА рд▓реАрдХ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдФрд░ рдЙрд╕реЗ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдЯреЙрдордХреИрдЯ рдореЗрдВ рдХрдИ рдЙрдкрдХрд░рдг рд╣реИрдВред



рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ , рдорд╛рдирдХ рдЯреЙрдордХреИрдЯ рдореИрдиреЗрдЬрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдПрдХ "рд▓реАрдХ рдЦреЛрдЬреЗрдВ" рдмрдЯрди ( рд╡рд┐рд╡рд░рдг ) рд╣реИ, рдЬреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдЧрд╛ рдХрд┐ рдХреМрди рд╕реЗ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреБрдирд░рд╛рд░рдВрдн рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдХрдЪрд░рд╛ рдЫреЛрдбрд╝ рдЧрдПред







рд▓реЗрдХрд┐рди рдпрд╣ рдХреЗрд╡рд▓ рдпрд╣ рджрд┐рдЦрд╛рдПрдЧрд╛ рдХрд┐ рдХрд┐рди рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рд░рд┐рд╕рд╛рд╡ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХрдо рдЙрдкрдпреЛрдЧ рд╣реИред



рджреВрд╕рд░реЗ , JreMemoryLeakPreventionListener



рдореЗрдВ JreMemoryLeakPreventionListener



- рдореЗрдореЛрд░реА рд▓реАрдХ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╕рд┐рджреНрдз рд╕рдВрднрд╛рд╡рд┐рдд рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╛рдзрд╛рди рд╣реИ, рдпрд╣ server.xml



( рд╡рд┐рд╡рд░рдг ) рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╢рд╛рдпрдж рдЗрд╕ рд╢реНрд░реЛрддрд╛ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рднреА рд╡рд┐рдХрд▓реНрдк рд╕реНрдореГрддрд┐ рд▓реАрдХ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред



рдФрд░ рддреАрд╕рд░рд╛, рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд - рдЬрдм рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд░реЛрдХрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЯреЙрдордХреИрдЯ рд▓реЙрдЧ рдХреЛ рд▓рд┐рдЦрддрд╛ рд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореЗрдореЛрд░реА рд▓реАрдХ рд╣реЛ рд╕рдХрддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣:



SEVERE: The web application [/drp] appears to have started a thread named [AWT-Windows] but has failed to stop it. This is very likely to create a memory leak.





SEVERE: The web application [/drp] created a ThreadLocal with key of type [org.apache.log4j.helpers.ThreadLocalMap] (value [org.apache.log4j.helpers.ThreadLocalMap@7dc1e95f]) and a value of type [java.util.Hashtable] (value [{session=*2CBFB7}]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.







рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рд╣рдореЗрдВ рд▓реАрдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред



рдФрд░ рдЬрдм рд╕реЗ рд╣рдо рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рд╡реНрдпрд╡рд╕рд╛рдп рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рдЙрддрд░реЗ рд╣реИрдВ, рд╣рдореЗрдВ рдпрд╣ рдЬрд╛рдирдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдкрд░реНрдореЗрди рдХреЛ рд╣рдорд╛рд░реЗ рд╕рд╛рде рд╕рд╛рдл рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдЯреЙрдордХреИрдЯ рдореИрдиреЗрдЬрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди, рдЬреЛ рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рджрд┐рдЦрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ PermGen рднреА рд╢рд╛рдорд┐рд▓ рд╣реИ, рдлрд┐рд░ рд╕реЗ рд╣рдорд╛рд░реА рдорджрдж рдХрд░реЗрдЧрд╛ред







рдПрдХ рдЕрдиреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛ - рдЕрдзрд┐рдХрддрдо PermGen рдореЗрдореЛрд░реА рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╣реА рд╕рдлрд╛рдИ рд╣реЛрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдЕрдзрд┐рдХрддрдо рдЙрдкрд▓рдмреНрдз PermGen рдореЗрдореЛрд░реА рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдорд╛рди рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬреИрд╕реЗ: -XX:MaxPermSize=100M



) рддрд╛рдХрд┐ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рджреЛ рдпрд╛ рддреАрди рдкреБрдирд░рд╛рд░рдВрдн рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдХрдмреНрдЬрд╛ рдХреА рдЧрдИ рдореЗрдореЛрд░реА 100 рддрдХ рдкрд╣реБрдВрдЪ рдЬрд╛рдП %, рдФрд░ рдпрд╛ рддреЛ рдПрдХ рд╕рдлрд╛рдИ рд╣реБрдИ, рдпрд╛ рдПрдХ OutOfMemoryError



рдЧрд┐рд░ рдЧрдИ рдЕрдЧрд░ рд╡рд╣рд╛рдБ рдЕрднреА рднреА рд▓реАрдХ рдереЗред



рдЕрдм рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓реАрдХ рд╕реЗ рдХреИрд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдпрд╛ рдЬрд╛рдПред



рдирд┐рдореНрди рд╕рдВрджреЗрд╢ рд▓реЗрдВ:



SEVERE: The web application [/drp] appears to have started a thread named [AWT-Windows] but has failed to stop it. This is very likely to create a memory leak.







рдпрд╣ рд╣рдореЗрдВ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╢реБрд░реВ рд╣реЛ рдЧрдпрд╛ рдФрд░ AWT-Windows



рдереНрд░реЗрдб рдХреЛ рдмрдВрдж рдирд╣реАрдВ рдХрд┐рдпрд╛, рдЗрд╕рд▓рд┐рдП, рдЗрд╕рдХрд╛ contextClassLoader



рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдХреНрд▓рд╛рд╕ рд▓реЛрдбрд░ рдирд┐рдХрд▓рд╛, рдФрд░ рдХрдЪрд░рд╛ рд╕рдВрдЧреНрд░рд╣рдХрд░реНрддрд╛ рдЗрд╕реЗ рдПрдХрддреНрд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдпрд╣рд╛рдВ рд╣рдо рдереНрд░реЗрдб рдХреЗ рдирд╛рдо рд╕реЗ рдПрдХ рд╢рд░реНрдд рдХреЗ рд╕рд╛рде рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЯреНрд░реИрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдЗрд╕ рдзрд╛рдЧреЗ рдХреЛ рдмрдирд╛рдпрд╛ рд╣реИ рдФрд░, рд╕реНрд░реЛрдд рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЦреБрджрд╛рдИ рдХрд░рддреЗ рд╣реБрдП, рдпрд╣ рдкрддрд╛ рдХрд░реЗрдВ рдХрд┐ рдЗрд╕реЗ рдХрд┐рд╕ рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рд╕реЗ рд░реЛрдХрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреБрдЫ рдзреНрд╡рдЬ рдбрд╛рд▓реЗрдВ рдпрд╛ рдХреБрдЫ рд╡рд┐рдзрд┐ рдХрд╣реЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП Thread#interrupt()



ред рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдВрдж рд╣реЛрдиреЗ рдкрд░ рдЗрди рдЪрд░рдгреЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред



рд▓реЗрдХрд┐рди рдЖрдк рдпрд╣ рднреА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕реНрдЯреНрд░реАрдо рдХрд╛ рдирд╛рдо рдХреБрдЫ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рд▓рдЧрддрд╛ рд╣реИ ... рд╢рд╛рдпрдж JreMemoryLeakPreventionListener



, рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдордиреЗ рдКрдкрд░ рд╕реАрдЦрд╛, рдЗрд╕ рд╕реНрдЯреНрд░реАрдо рдХреЗ рд╕рд╛рде рдХреБрдЫ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рд╣рдо рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╢реНрд░реЛрддрд╛ рдХреЗ рдкрд╛рд╕ AWTThreadProtection



рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИ, рдЬреЛ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЧрд▓рдд рд╣реИред рд╣рдо рдЗрд╕реЗ server.xml рдореЗрдВ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдбрд╛рд▓рддреЗ рд╣реИрдВ рдФрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЯреЙрдордХреИрдЯ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рдВрджреЗрд╢ рдХреЛ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред



рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, JDK рд╕реЗ рдЫрд╡рд┐ рд╣реЗрд░рдлреЗрд░ рд╡рд░реНрдЧреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рд░реНрд╡рд░ рдкрд░ рдХреИрдкреНрдЪрд╛ рдХреА рдкреАрдврд╝реА рдХреЗ рдХрд╛рд░рдг AWT-Windows



рд╕реНрдЯреНрд░реАрдо рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред



рдареАрдХ рд╣реИ, рдпрд╣рд╛рдБ рд╣рдо рдЯреЙрдордХреИрдЯ рдореЗрдВ рдПрдХ рд╕рд░рд▓ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде рдЙрддрд░ рдЧрдП, рдЪрд▓реЛ рдХреБрдЫ рдФрд░ рдЬрдЯрд┐рд▓ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:



SEVERE: The web application [/drp] created a ThreadLocal with key of type [org.apache.log4j.helpers.ThreadLocalMap] (value [org.apache.log4j.helpers.ThreadLocalMap@7dc1e95f]) and a value of type [java.util.Hashtable] (value [{session=*2CBFB7}]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.







рдпрд╣рд╛рдБ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдХрд┐рд╕реА рдиреЗ ThreadLocal



рдХрдХреНрд╖рд╛ рдореЗрдВ ThreadLocalMap



рдореЗрдВ рдПрдХ рдорд╛рди рд░рдЦрд╛ рдФрд░ рдЗрд╕реЗ рд╣рдЯрд╛рдпрд╛ рдирд╣реАрдВред рд╣рдо рдпрд╣ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ ThreadLocalMap



рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд╣рд╛рдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╣рдо org.apache.log4j.MDC



, рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА рд▓реЙрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╡рд░реНрдЧ рд╣рдорд╛рд░реЗ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реАрдзреЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ MDC



рд╡рд░реНрдЧ рдХреА put



рд╡рд┐рдзрд┐ рдХреЛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ remove



рд╡рд┐рдзрд┐ рдХреЛ рдирд╣реАрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рд╣реА рдЬрдЧрд╣ рдкрд░ рдкреНрд░рддреНрдпреЗрдХ put



рд▓рд┐рдП рдХреЙрд▓ remove



рдореЗрдВ рдорджрдж рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред рд╣рдо рдареАрдХ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд╛рдВрдЪрддреЗ рд╣реИрдВ - рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ!



рдЗрд╕ рддрд░рд╣ рдХреА рд╕рднреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╣ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЖрдк OutOfMemoryError: PermGen space



рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛ рд▓реЗрдВрдЧреЗ OutOfMemoryError: PermGen space



, рдХрдо рд╕реЗ рдХрдо рдореЗрд░реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдРрд╕рд╛ рдерд╛ред



VisualVM рд╡рд┐рд╢реНрд▓реЗрд╖рдг



рдпрджрд┐ рдЖрдк рдЯреЙрдордХреИрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдпрд╛ рдпрджрд┐ рд▓реЙрдЧ рдореЗрдВ рдЯреЙрдордХреИрдЯ рджреНрд╡рд╛рд░рд╛ рдЗрдВрдЧрд┐рдд рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдирд╣реАрдВ рдорд┐рд▓реА рд╣реИ, рддреЛ рдЖрдк рдкреНрд░реЛрдлрд╛рдЗрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЬрд╛рд░реА рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВрдиреЗ JDK рдХреЗ рд╕рд╛рде рд╢рд╛рдорд┐рд▓ рдореБрдХреНрдд VisualVM рдкреНрд░реЛрдлрд╛рдЗрд▓рд░ рдХреЛ рд▓рд┐рдпрд╛ред



рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдПрдХ рддреИрдирд╛рдд рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рд╛рде рд╕рд░реНрд╡рд░ рд╢реБрд░реВ рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ рддрд╛рдХрд┐ рд░рд┐рд╕рд╛рд╡ рджрд┐рдЦрд╛рдИ рджреЗред VisualVM рдЦреЛрд▓реЗрдВ, рд╡рд╛рдВрдЫрд┐рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░ рдбреНрд░реЙрдк-рдбрд╛рдЙрди рдореЗрдиреВ рдореЗрдВ рдЙрдкрдпреБрдХреНрдд рдЖрдЗрдЯрдо рдХрд╛ рдЪрдпрди рдХрд░рдХреЗ рдПрдХ рдвреЗрд░ рдбрдВрдк рдХрд░реЗрдВред







"OQL рдХрдВрд╕реЛрд▓" рдЯреИрдм рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреНрд╡реЗрд░реА рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:

select x from org.apache.catalina.loader.WebappClassLoader x





(рдЕрдиреНрдп рд╕рд░реНрд╡рд▓реЗрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП, рд╡рд░реНрдЧ рдЕрд▓рдЧ рд╣реЛрдЧрд╛)ред







рдкрд╣рд▓реЗ рдмрдВрдж рдХрд┐рдП рдЧрдП рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рджреЛ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдХрдЪрд░рд╛ рдХрд▓реЗрдХреНрдЯрд░ рдЗрд╕реЗ рдЗрдХрдЯреНрдард╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛ред рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреМрди рд╕рд╛ рдкреБрд░рд╛рдирд╛ рд╣реИ, рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ started



рдлрд╝реАрд▓реНрдб рдХреА рддрд▓рд╛рд╢ рдХрд░реЗрдВред started



рдХреА рдЧрдИ рдкреБрд░рд╛рдиреА false



рд╣реЛрдЧреАред







"рд╕рдВрджрд░реНрдн" рд╡рд┐рдВрдбреЛ рдореЗрдВ, рдЗрд╕ рд╡рд░реНрдЧ рд▓реЛрдбрд░ рдХреЗ рд╕рднреА рд▓рд┐рдВрдХ рджрд┐рдЦрд╛рдП рдЧрдП рд╣реИрдВ, рд╣рдореЗрдВ рдЙрд╕реЗ рдЦреЛрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рдХрдЪрд░рд╛ рдХрд▓реЗрдХреНрдЯрд░ рдЗрд╕реЗ рдЗрдХрдЯреНрдард╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕ рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ this



рдФрд░ "Show Nearest GC Root" рдЪреБрдиреЗрдВред







рдЦреИрд░, рд╣рдореЗрдВ рдХреБрдЫ рдРрд╕рд╛ рдзрд╛рдЧрд╛ рдорд┐рд▓рд╛ рдЬрд╣рд╛рдВ рд╣рдорд╛рд░рд╛ рдкреБрд░рд╛рдирд╛ рдХреНрд▓рд╛рд╕ рд▓реЛрдбрд░ рд╣реИред рд╣рдо рд╕рд╣реА рдорд╛рдЙрд╕ рдмрдЯрди рдХреЗ рд╕рд╛рде рдЙрд╕ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ "рд╢реЛ рдЗрдВрд╕реНрдЯреЗрдВрд╕" рдЪреБрдиреЗрдВред







рд╣рдо рд╡рд╕реНрддреБ рдХреЗ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ рдФрд░ рд╕реЛрдЪрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдХреНрдпрд╛ рдкрдХрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдпрд╣ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХреА рд╡рд╕реНрддреБ рд╣реИ, рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЗрд╕реЗ рдмрдирд╛рдиреЗ рд╡рд╛рд▓рд╛ рдХреЛрдб рдвреВрдВрдвреЗрдВ, рдЗрд╕реЗ рдбрд┐рдмрдЧрд░ рдореЗрдВ рдкрдХрдбрд╝реЗрдВ, рдЖрджрд┐ред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдпрд╣ рд╕реНрдЯреНрд░реАрдо рдирд╛рдо рдкрд░рд┐рдЪрд┐рдд AWT-Windows



ред рд╣рдореЗрдВ рд╡рд╣реА рд╕рдорд╕реНрдпрд╛ рдорд┐рд▓реА рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЯреЙрдордХреИрдЯ рдиреЗ рд╣рдорд╛рд░реЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦрд╛, рдХреЗрд╡рд▓ рд╡рд┐рдЬреБрдЕрд▓рд╡реАрдПрдо рдХреЗ рд╕рд╛рдеред рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд░рдирд╛ рд╣реИред



рдкрд░рд┐рдгрд╛рдо



рд╣рдордиреЗ PermGen рдореЗрдореЛрд░реА рд▓реАрдХ рдХреА рдкрд╣рдЪрд╛рди, рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдФрд░ рд╕реБрдзрд╛рд░ рдХрд░рдирд╛ рд╕реАрдЦ рд▓рд┐рдпрд╛ рд╣реИред рдпрд╣ рдЗрддрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рдирд┐рдХрд▓рд╛, рдЦрд╛рд╕рдХрд░ рдЯреЙрдордХрдЯ рдХреЗ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореИрдВ рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рджреЗ рд╕рдХрддрд╛ рдХрд┐ рдЙрдкрд░реЛрдХреНрдд рд╡рд┐рдзрд┐рдпрд╛рдВ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓реАрдХ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛ рд╕рдХрддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрдИ рдмрдбрд╝реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд▓реАрдХ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ред



рд╕рдВрджрд░реНрдн






All Articles