рд╣реБрдб рдХреЗ рддрд╣рдд, hh.ru рдореЗрдВ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЬрд╛рд╡рд╛ рд╕реЗрд╡рд╛рдПрдБ рд╣реИрдВ рдЬреЛ рдбреЙрдХрдЯрд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рдЪрд▓ рд░рд╣реА рд╣реИрдВред рдЙрдирдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рджреМрд░рд╛рди, рд╣рдореЗрдВ рдмрд╣реБрдд рд╕реА рдЧреИрд░-рддреБрдЪреНрдЫ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рдХрдИ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рд╕рдорд╛рдзрд╛рди рдХреА рддрд╣ рддрдХ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ Google рдХрд░рдирд╛ рдкрдбрд╝рд╛, OpenJDK рд╕реНрд░реЛрддреЛрдВ рдХреЛ рдкрдврд╝рд╛ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЙрддреНрдкрд╛рджрди рдкрд░ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рднреА рдкреНрд░реЛрдлрд╛рдЗрд▓ рдХрд┐рдпрд╛ред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдЬреНрдЮрд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред
рд╕реАрдкреАрдпреВ рдХреА рд╕реАрдорд╛
рд╣рдо рд╕реАрдкреАрдпреВ рдФрд░ рдореЗрдореЛрд░реА рд╕реАрдорд╛рдУрдВ рдХреЗ рд╕рд╛рде kvm рдЖрднрд╛рд╕реА рдорд╢реАрдиреЛрдВ рдореЗрдВ рд░рд╣рддреЗ рдереЗ рдФрд░, рдбреЙрдХрд░ рдореЗрдВ рдЬрд╛рдХрд░, cgroups рдореЗрдВ рд╕рдорд╛рди рдкреНрд░рддрд┐рдмрдВрдз рд▓рдЧрд╛рддреЗ рдереЗред рдФрд░ рдкрд╣рд▓реА рд╕рдорд╕реНрдпрд╛ рдЬрд┐рд╕рдХрд╛ рд╣рдореЗрдВ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛, рд╡рд╣ рдареАрдХ рд╕реАрдкреАрдпреВ рдХреА рд╕реАрдорд╛ рдереАред рдореБрдЭреЗ рддреБрд░рдВрдд рдпрд╣ рдХрд╣рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЬрд╛рд╡рд╛ 8 рдФрд░ рдЬрд╛рд╡рд╛ of 10. рдХреЗ рд╣рд╛рд▓ рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рдЖрдк рд╕рдордп рд░рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕ рдЕрдиреБрднрд╛рдЧ рдХреЛ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред
рдЗрд╕рд▓рд┐рдП, рд╣рдо рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдПрдХ рдЫреЛрдЯреА рд╕реЗрд╡рд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдзрд╛рдЧреЗ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рддрд╛ рд╣реИред рдпрд╛ рд╕реАрдкреАрдпреВ рдЕрдкреЗрдХреНрд╖рд╛ рд╕реЗ рдЕрдзрд┐рдХ рдЦрдкрдд рдХрд░рддрд╛ рд╣реИ, рд╕рдордп рд╡реНрдпрд░реНрде рдореЗрдВ рдХрд┐рддрдирд╛ред рдпрд╛ рдпрд╣рд╛рдВ рдПрдХ рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕реНрдерд┐рддрд┐ рд╣реИ: рдПрдХ рдорд╢реАрди рдкрд░ рд╕реЗрд╡рд╛ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИ, рдФрд░ рджреВрд╕рд░реЗ рдкрд░, рдПрдХ рд╣реА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде, рдпрд╣ рдХреНрд░реИрд╢ рд╣реЛрддрд╛ рд╣реИ, рдПрдХ рдУрдУрдПрдо рд╣рддреНрдпрд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдкрдХрдбрд╝рд╛ рдЧрдпрд╛ред
рд╕рдорд╛рдзрд╛рди рдмрд╣реБрдд рд╕рд░рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ - рдмрд╕ рдЬрд╛рд╡рд╛
--cpus
рд╕реНрдерд╛рдкрд┐рдд
--cpus
рдХреА рд╕реАрдорд╛рдУрдВ рдХреЛ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рд╣реИ рдФрд░ рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ рдореЗрдЬрдмрд╛рди рдорд╢реАрди рдХреЗ рд╕рднреА рдХрд░реНрдиреЗрд▓ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕реБрд▓рдн рд╣реИрдВред рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдмрд╣реБрдд рдХреБрдЫ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рд╣рдорд╛рд░реЗ рдорд╛рдирдХ рд╕реЗрдЯрдЕрдк рдореЗрдВ - 80)ред
рдкреБрд╕реНрддрдХрд╛рд▓рдп рдереНрд░реЗрдб рдкреВрд▓ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдЙрдкрд▓рдмреНрдз рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВ - рдЗрд╕рд▓рд┐рдП рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдереНрд░реЗрдбреНрд╕ред
рдЬрд╛рд╡рд╛ рд╕реНрд╡рдпрдВ рдЬреАрд╕реА рдереНрд░реЗрдбреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдорд╛рдкрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕реАрдкреАрдпреВ рдХреА рдЦрдкрдд рдФрд░ рдЯрд╛рдЗрдордЖрдЙрдЯ - рдпрд╣ рд╕реЗрд╡рд╛ рдХрдЪрд░рд╛ рд╕рдВрдЧреНрд░рд╣ рдкрд░ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдЦрд░реНрдЪ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреА рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрд╡рдВрдЯрд┐рдд рдХреЛрдЯрд╛ рдХреЗ рд╢реЗрд░ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдиреЗрдЯреА), рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдСрдл-рд╣рд┐рдк рдореЗрдореЛрд░реА рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рд╕реАрдкреАрдпреВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдЕрдзрд┐рдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░ рдЪрд▓рдиреЗ рдкрд░ рдХрдВрдЯреЗрдирд░ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╕реАрдорд╛ рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛрдиреЗ рдХреА рдЙрдЪреНрдЪ рд╕рдВрднрд╛рд╡рдирд╛ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЬреИрд╕реЗ рд╣реА рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╕рд╛рдордиреЗ рдЖрдИ, рд╣рдордиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рдо рдХреЗ рджреМрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА:
- рдХреБрдЫ рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА
libnumcpus - рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЬреЛ рдЖрдкрдХреЛ рдЙрдкрд▓рдмреНрдз рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреА рдПрдХ рдЕрд▓рдЧ рд╕рдВрдЦреНрдпрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдХреЗ "рдЯреНрд░рд┐рдХ" рдЬрд╛рд╡рд╛ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ;
- рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЬреАрд╕реА рдереНрд░реЗрдбреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ,
- рдкреНрд░рддреНрдпрдХреНрд╖ рдмрд╛рдЗрдЯ рдмрдлрд╝рд░реНрд╕ рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕реАрдорд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдВред
рд▓реЗрдХрд┐рди, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рдРрд╕реА рдмреИрд╕рд╛рдЦрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдШреВрдордирд╛ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЬрд╛рд╡рд╛ 10 (рдФрд░ рдлрд┐рд░ рдЬрд╛рд╡рд╛ 11) рдХреА рдЪрд╛рд▓, рдЬрд┐рд╕рдореЗрдВ рдпреЗ рд╕рднреА рд╕рдорд╕реНрдпрд╛рдПрдВ
рдЕрдиреБрдкрд╕реНрдерд┐рдд рд╣реИрдВ , рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдорд╛рдзрд╛рди рдерд╛ред рдирд┐рд╖реНрдкрдХреНрд╖рддрд╛ рдореЗрдВ, рдпрд╣ рдХрд╣рдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдЖрда рдореЗрдВ рднреА, рдЕрдХреНрдЯреВрдмрд░ 198 рдореЗрдВ рдЬрд╛рд░реА
191 рдЕрдкрдбреЗрдЯ рдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рдареАрдХ рдерд╛ред рдЙрд╕ рд╕рдордп рддрдХ рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдерд╛, рдЬрд┐рд╕рдХреА рдореИрдВ рдЖрдкрдХреЗ рд▓рд┐рдП рднреА рдХрд╛рдордирд╛ рдХрд░рддрд╛ рд╣реВрдВред
рдпрд╣ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬрд╣рд╛рдВ рдЬрд╛рд╡рд╛ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рд╕реЗ рди рдХреЗрд╡рд▓ рдиреИрддрд┐рдХ рд╕рдВрддреБрд╖реНрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ, рдмрд▓реНрдХрд┐ рд╕рд░рд▓реАрдХреГрдд рд╕рдВрдЪрд╛рд▓рди рдФрд░ рд╕реЗрд╡рд╛ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореВрд░реНрдд рд▓рд╛рдн рднреА рд╣реЛрддрд╛ рд╣реИред
рдбреЙрдХрд░ рдФрд░ рд╕рд░реНрд╡рд░ рдХреНрд▓рд╛рд╕ рдорд╢реАрди
рддреЛ, рдЬрд╛рд╡рд╛ 10 рдореЗрдВ,
-XX:ActiveProcessorCount
рдФрд░
-XX:+UseContainerSupport
рд╡рд┐рдХрд▓реНрдк рджрд┐рдЦрд╛рдИ рджрд┐рдП (рдФрд░ рдЬрд╛рд╡рд╛ 8 рдХреЛ
-XX:+UseContainerSupport
рджрд┐рдП рдЧрдП), рдбрд┐рдлрд╝реЙрд▓реНрдЯ cgroups рд╕реАрдорд╛ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдПред рдЕрдм рд╕рдм рдХреБрдЫ рдЕрджреНрднреБрдд рдерд╛ред рдпрд╛ рдирд╣реАрдВ?
рдЬрд╛рд╡рд╛ 10/11 рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рд╣реЛрдиреЗ рдХреЗ рдХреБрдЫ рд╕рдордп рдмрд╛рдж, рд╣рдордиреЗ рдХреБрдЫ рд╡рд┐рд╖рдорддрд╛рдУрдВ рдХреЛ рдиреЛрдЯрд┐рд╕ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ред рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ, рдХреБрдЫ рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ, GC рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдРрд╕реЗ рджрд┐рдЦрддреЗ рдереЗ рдЬреИрд╕реЗ рд╡реЗ G1 рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ:

рдпрд╣, рдЗрд╕реЗ рдорд╛рдореВрд▓реА рд░реВрдк рд╕реЗ рд░рдЦрдирд╛, рдереЛрдбрд╝рд╛ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдирддреЗ рдереЗ рдХрд┐ G1 рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХрд▓реЗрдХреНрдЯрд░ рд╣реИ, рдЬрд╛рд╡рд╛ 9 рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рд╕рд╛рде рд╣реА, рдХреБрдЫ рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ рдРрд╕реА рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ - G1 рдЪрд╛рд▓реВ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдЕрдкреЗрдХреНрд╖рд┐рдд рдерд╛ред
рд╣рдо рдПрдХ
рджрд┐рд▓рдЪрд╕реНрдк рдЪреАрдЬ рдХреЛ рд╕рдордЭрдирд╛ рдФрд░ рдареЛрдХрд░ рдЦрд╛рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рдЬрд╛рд╡рд╛ 3 рд╕реЗ рдХрдо рдкреНрд░реЛрд╕реЗрд╕рд░ рдФрд░ 2 рдЬреАрдмреА рд╕реЗ рдХрдо рдХреА рдореЗрдореЛрд░реА рд╕реАрдорд╛ рдХреЗ рд╕рд╛рде рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рддреЛ рдпрд╣ рдЕрдкрдиреЗ рдЖрдк рдХреЛ рдЧреНрд░рд╛рд╣рдХ рдорд╛рдирддрд╛ рд╣реИ рдФрд░ SerialGC рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рднреА рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред
рд╡реИрд╕реЗ, рдпрд╣ рдХреЗрд╡рд▓
рдЬреАрд╕реА рдХреА
рдкрд╕рдВрдж рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ -рдХреНрд▓рд╛рдЗрдВрдЯ / -рд╕рд░реНрд╡рд░ рдФрд░ рдЬреЗрдЖрдИрдЯреА рд╕рдВрдХрд▓рди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд╕рд╛рде рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИред
рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдЬрдм рд╣рдордиреЗ рдЬрд╛рд╡рд╛ 8 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛, рддреЛ рдпрд╣ рдбреЙрдХрдЯрд░ рд╕реАрдорд╛ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рдирд╣реАрдВ рд░рдЦрддрд╛ рдерд╛ рдФрд░ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдкреНрд░реЛрд╕реЗрд╕рд░ рдФрд░ рдореЗрдореЛрд░реА рд╣реИрдВред рдЬрд╛рд╡рд╛ 10 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╕реАрдорд╛рдПрдВ рдХрдо рдХрд░рдиреЗ рд╡рд╛рд▓реА рдХрдИ рд╕реЗрд╡рд╛рдПрдВ рдЕрдЪрд╛рдирдХ рд╣реА рд╕реАрд░рд┐рдпрд▓рд┐рдпрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд▓рдЧреАрдВред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ рдмрд╣реБрдд рд╕рд░рд▓рддрд╛ рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ
-XX:+AlwaysActAsServerClassMachine
рд╕реЗрдЯ
-XX:+AlwaysActAsServerClassMachine
ред
рд╕реАрдкреАрдпреВ рд╕реАрдорд╛ (рд╣рд╛рдБ, рдлрд┐рд░ рд╕реЗ) рдФрд░ рдореЗрдореЛрд░реА рд╡рд┐рдЦрдВрдбрди
рдирд┐рдЧрд░рд╛рдиреА рдореЗрдВ рд░реЗрдЦрд╛рдВрдХрди рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рд╣рдордиреЗ рдХрд┐рд╕реА рддрд░рд╣ рджреЗрдЦрд╛ рдХрд┐ рдХрдВрдЯреЗрдирд░ рдХрд╛ рдирд┐рд╡рд╛рд╕реА рд╕реЗрдЯ рдЖрдХрд╛рд░ рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╣реИ - рдЕрдзрд┐рдХрддрдо рдХреВрд▓реНрд╣реЗ рдХреЗ рдЖрдХрд╛рд░ рдХрд╛ рддреАрди рдЧреБрдирд╛ рдЬрд┐рддрдирд╛ред рдХреНрдпрд╛ рдпрд╣ рдХреБрдЫ рдЕрдЧрд▓реЗ рдореБрд╢реНрдХрд┐рд▓ рддрдВрддреНрд░ рдореЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдорд╛рдкрддрд╛ рд╣реИ рдФрд░ рдбреЙрдХрдЯрд░ рдХреА рд╕реАрдорд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИ?
рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рддрдВрддреНрд░ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ - рдпрд╣ рдЧреНрд▓рд┐рдмрдХ рд╕реЗ рдкреНрд░рд╕рд┐рджреНрдз рдореЙрд▓реЛрдХ рд╣реИред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдЧреНрд▓рд┐рдмреЗрдХ рд╕реНрдореГрддрд┐ рдХреЛ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрдерд╛рдХрдерд┐рдд рдПрд░реЗрдирд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдмрдирд╛рддреЗ рд╕рдордп, рдкреНрд░рддреНрдпреЗрдХ рдереНрд░реЗрдб рдХреЛ рдПрд░реЗрдирд╛рд╕ рдореЗрдВ рд╕реЗ рдПрдХ рд╕реМрдВрдкрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрдм рдЧреНрд▓рд┐рдмрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рдзрд╛рдЧрд╛ рдЕрдкрдиреА рдЬрд░реВрд░рддреЛрдВ рдХреЗ рд▓рд┐рдП рджреЗрд╢реА рд╣реАрдк рдореЗрдВ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдорд╛рддреНрд░рд╛ рдореЗрдВ рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ рдФрд░ рдореЙрд▓реЙрдХ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдореЗрдореЛрд░реА рдХреЛ рдЙрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕реМрдВрдкреЗ рдЧрдП рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдЕрдЦрд╛рдбрд╝рд╛ рдХрдИ рдзрд╛рдЧреЗ рдкрд░реЛрд╕рддрд╛ рд╣реИ, рддреЛ рдпреЗ рдзрд╛рдЧреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рдХрд░реЗрдВрдЧреЗред рдЕрдзрд┐рдХ рдЕрдЦрд╛рдбрд╝реЗ, рдХрдо рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рд╡рд┐рдЦрдВрдбрди, рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдЕрдЦрд╛рдбрд╝реЗ рдХреА рдЕрдкрдиреА рд╕реНрд╡рддрдВрддреНрд░ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреА рд╕реВрдЪреА рд╣реИред
64-рдмрд┐рдЯ рд╕рд┐рд╕реНрдЯрдо рдкрд░, рдПрд░реЗрдирд╛рд╕ рдХреА рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рдВрдЦреНрдпрд╛ 8 * рд╕реАрдкреАрдпреВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд░ рд╕реЗрдЯ рд╣реИред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрдбрд╝рд╛ рдЙрдкрд░рд┐ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рднреА рд╕реАрдкреАрдпреВ рдХрдВрдЯреЗрдирд░ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬрд╛рд╡рд╛-рдЖрдзрд╛рд░рд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП, рдПрд░реЗрдирд╛рд╕ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдЗрддрдиреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЖрд╡рдВрдЯрди рдЬрд╛рд╡рд╛-рд╣реАрдк рдореЗрдВ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдореЗрдореЛрд░реА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рдЖрд╡рдВрдЯрд┐рдд рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред
рдореЙрд▓реЙрдХ рдХреА рдЗрд╕ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ
рдмрд╣реБрдд рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рдЗрд╕рдХреЗ рд╕рдорд╛рдзрд╛рди - рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
MALLOC_ARENA_MAX
рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдПрд░реЗрдирд╛рд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред рдХрд┐рд╕реА рднреА рдХрдВрдЯреЗрдирд░ рдХреЗ рд▓рд┐рдП рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред рд╣рдорд╛рд░реЗ рдореБрдЦреНрдп рдмреИрдХрдПрдВрдб рдХреЗ рд▓рд┐рдП
MALLOC_ARENA_MAX = 4
рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рднрд╛рд╡ рдпрд╣рд╛рдБ рд╣реИ:
RSS рдЪрд╛рд░реНрдЯ рдкрд░ рджреЛ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ: рдПрдХ (рдиреАрд▓рд╛) рдореЗрдВ рд╣рдо
MALLOC_ARENA_MAX
рдЪрд╛рд▓реВ рдХрд░рддреЗ рд╣реИрдВ, рджреВрд╕рд░рд╛ (рд▓рд╛рд▓) рд╣рдо рдмрд╕ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░рддреЗ рд╣реИрдВред рдЕрдВрддрд░ рд╕реНрдкрд╖реНрдЯ рд╣реИред
рд▓реЗрдХрд┐рди рдЙрд╕рдХреЗ рдмрд╛рдж, рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдПрдХ рдЙрдЪрд┐рдд рдЗрдЪреНрдЫрд╛ рд╣реИ рдХрд┐ рдЬрд╛рд╡рд╛ рдЖрдо рддреМрд░ рдкрд░ рд╕реНрдореГрддрд┐ рдкрд░ рдХреНрдпрд╛ рдЦрд░реНрдЪ рдХрд░рддрд╛ рд╣реИред рдХреНрдпрд╛ 300-400 рдореЗрдЧрд╛рдмрд╛рдЗрдЯ рдХреА рдореЗрдореЛрд░реА рд╕реАрдорд╛ рдХреЗ рд╕рд╛рде рдЬрд╛рд╡рд╛ рдкрд░ рдПрдХ рдорд╛рдЗрдХреНрд░реЛ-рд╕рд░реНрд╡рд┐рд╕ рдЪрд▓рд╛рдирд╛ рд╕рдВрднрд╡ рд╣реИ рдФрд░ рдпрд╣ рдбрд░ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдЬрд╛рд╡рд╛-рдУрдУрдПрдо рд╕реЗ рдЧрд┐рд░ рдЬрд╛рдПрдЧрд╛ рдпрд╛ рд╕рд┐рд╕реНрдЯрдо рдУрдУрдПрдо рд╣рддреНрдпрд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдирд╣реАрдВ рдорд╛рд░рд╛ рдЬрд╛рдПрдЧрд╛?
рд╣рдо Java-OOM рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рддреЗ рд╣реИрдВ
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдЗрд╕ рддрдереНрдп рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдУрдУрдПрдо рдЕрдкрд░рд┐рд╣рд╛рд░реНрдп рд╣реИрдВ, рдФрд░ рдЖрдкрдХреЛ рдЙрдиреНрд╣реЗрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдВрднрд╛рд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдХрдо рд╕реЗ рдХрдо рдХреВрд▓реНрд╣реЗ рдХреЗ рдзрдХреНрдХреЛрдВ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдПред рдЕрдЬреАрдм рддрд░рд╣ рд╕реЗ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЗрд╕ рд╕рд░рд▓ рдЙрдкрдХреНрд░рдо рдХреА рдЕрдкрдиреА рдмрд╛рд░реАрдХрд┐рдпрд╛рдВ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рд┐рдк рдбрдВрдк рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдпрджрд┐ рд╕рдорд╛рди рдирд╛рдо рд╡рд╛рд▓рд╛ рд╣рд┐рдк рдбрдВрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рд╣реЗрдЬрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдПрдХ рдирдпрд╛ рдмрд╕ рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдЬрд╛рд╡рд╛
рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо
рдореЗрдВ рдбрдВрдк рд╕реАрд░рд┐рдпрд▓ рдирдВрдмрд░ рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЖрдИрдбреА
рдЬреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╣рдорд╛рд░реА рдорджрдж рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рд╕реАрд░рд┐рдпрд▓ рдирдВрдмрд░ рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ OOM рд╣реИ, рдФрд░ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдЕрдиреБрд░реЛрдзрд┐рдд рд╣рд┐рдк-рдбрдВрдк рдирд╣реАрдВ рд╣реИ - рдЗрд╕рдХреЗ рдмрд╛рдж рдЖрд╡реЗрджрди рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдХрд╛рдЙрдВрдЯрд░ рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░рдирд╛ред рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЖрдИрдбреА рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдбреЙрдХ рдореЗрдВ рдпрд╣ рд╣рдореЗрд╢рд╛ рдПрдХ рд╣реА рд╣реИ (рд╕рдмрд╕реЗ рдЕрдХреНрд╕рд░ 1)ред
рдЗрд╕рд▓рд┐рдП, рд╣рдо рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдкрд░ рдЖрдП:
-XX:+HeapDumpOnOutOfMemoryError
-XX:+ExitOnOutOfMemoryError
-XX:HeapDumpPath=/var/crash/java.hprof
-XX:OnOutOfMemoryError="mv /var/crash/java.hprof /var/crash/heapdump.hprof"
рдпрд╣ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ рдФрд░ рдХреБрдЫ рд╕реБрдзрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдЖрдк рдЗрд╕реЗ рди рдХреЗрд╡рд▓ рдирд╡реАрдирддрдо рд╣рд┐рдк-рдбрдВрдк рд╕реНрдЯреЛрд░ рдХрд░рдирд╛ рд╕рд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рд╣рдорд╛рд░реА рдЬрд░реВрд░рддреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рд╕реЗ рдЕрдзрд┐рдХ рд╣реИред
рдЬрд╛рд╡рд╛ рдУрдУрдПрдо рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕рдХрд╛ рд╣рдореЗрдВ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдореЗрдореЛрд░реА рдХреА рдПрдХ рд╕реАрдорд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рд╡рд╣ рд╡реНрдпрд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕реЗ рдкрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдХрдВрдЯреЗрдирд░ рдХреЛ
restart_policy: always
рдХрд┐рд▓рд░ рд╕рд┐рд╕реНрдЯрдо рджреНрд╡рд╛рд░рд╛ рдорд╛рд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдкреБрдирд░рд╛рд░рдВрдн рд╣реЛрддрд╛ рд╣реИ (рд╣рдо рдкреБрдирд░рд╛рд░рдВрдн_рдкреЙрд▓рд┐рд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ
restart_policy: always
)ред рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдпрд╣ рдЕрд╡рд╛рдВрдЫрдиреАрдп рд╣реИ, рдФрд░ рд╣рдо рд╕реАрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЬреЗрд╡реАрдПрдо рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдкрд░ рд╕реАрдорд╛рдПрдВ рдХреИрд╕реЗ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЬрд╛рдПрдВред
рд╕реНрдореГрддрд┐ рдХреА рдЦрдкрдд рдХрд╛ рдЕрдиреБрдХреВрд▓рди
рд▓реЗрдХрд┐рди рд╕реАрдорд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдЬреЗрд╡реАрдПрдо рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдмрд░реНрдмрд╛рдж рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА CPU рдФрд░ рдЪрд░
MALLOC_ARENA_MAX
рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд░ рдПрдХ рд╕реАрдорд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореЗрдореЛрд░реА рдЦрдкрдд рдХреЛ рдХрдо рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣реЗ рд╣реИрдВред рдХреНрдпрд╛ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЕрдиреНрдп "рд▓рдЧрднрдЧ рдореБрдлреНрдд" рддрд░реАрдХреЗ рд╣реИрдВ?
рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рдФрд░ рдЪрд╛рд▓реЗрдВ рд╣реИрдВ рдЬреЛ рдереЛрдбрд╝реА рдпрд╛рджрджрд╛рд╢реНрдд рдХреЛ рдмрдЪрд╛рдПрдВрдЧреАред
рдкрд╣рд▓рд╛
-Xss
(or
-XX:ThreadStackSize
)
-XX:ThreadStackSize
, рдЬреЛ рдереНрд░реЗрдбреНрд╕ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреИрдХ рдЖрдХрд╛рд░ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред 64-рдмрд┐рдЯ JVM рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ 1 MB рд╣реИред рд╣рдореЗрдВ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ 512 рдХреЗрдмреА рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ, рдПрдХ StackOverflowException рдкрд╣рд▓реЗ рдХрднреА рдирд╣реАрдВ рдкрдХрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рд╕рднреА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИред рдФрд░ рдЗрд╕рд╕реЗ рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рд▓рд╛рдн рдмрд╣реБрдд рдХрдо рд╣реИред
рджреВрд╕рд░рд╛ рд╣реИ
-XX:+UseStringDeduplication
(G1 GC рд╕рдХреНрд╖рдо рдХреЗ рд╕рд╛рде)ред рдпрд╣ рдЖрдкрдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░реЛрд╕реЗрд╕рд░ рд▓реЛрдб рдХреЗ рдХрд╛рд░рдг рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдзреНрд╡рд╕реНрдд рдХрд░рдХреЗ рдореЗрдореЛрд░реА рдкрд░ рд╕рд╣реЗрдЬрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдореЗрдореЛрд░реА рдФрд░ рд╕реАрдкреАрдпреВ рдХреЗ рдмреАрдЪ рдЯреНрд░реЗрдбрдСрдл рдХреЗрд╡рд▓ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рдбрд┐рдбреБрдкреНрд▓реАрдХреЗрд╢рди рдореИрдХреЗрдирд┐рдЬреНрдо рдХреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдЖрдкрдХреА рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ
рдбреЙрдХ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдкрдврд╝реЗрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдЕрднреА рддрдХ рдЗрд╕рдХрд╛ рдЖрд╡реЗрджрди рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИред
рдФрд░ рдЕрдВрдд рдореЗрдВ, рдПрдХ рд╡рд┐рдзрд┐ рдЬреЛ рд╕рднреА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИ (рд▓реЗрдХрд┐рди рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИ) рджреЗрд╢реА
рдореЙрд▓реЙрдХ рдХреЗ рдмрдЬрд╛рдп
рдЬреЗрдорд▓реЙрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред рдпрд╣ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧреНрд▓рд┐рдмреЗрдХ рд╕реЗ рдореЙрд▓реЙрдХ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╕реНрдореГрддрд┐ рд╡рд┐рдЦрдВрдбрди рдФрд░ рдмреЗрд╣рддрд░ рдорд▓реНрдЯреАрдереНрд░реЗрдбрд┐рдВрдЧ рд╕рдорд░реНрдерди рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреА рджрд┐рд╢рд╛ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИред рд╣рдорд╛рд░реА рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рдЬреЗрдореЙрд▓реЙрдХ рдиреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд┐рдП рдмрд┐рдирд╛
MALLOC_ARENA_MAX=4
рд╕рд╛рде рдореЙрд▓реЙрдХ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдореЗрдореЛрд░реА рд▓рд╛рдн рджрд┐рдпрд╛ред
рдЬреЗрд╡реАрдПрдо рдПрдирд╛рдЯреЙрдореА рдХреНрд╡рд╛рд░реНрдХ # 12 рдореЗрдВ рдЕрд▓реЗрдХреНрд╕рдИ рд╢рд┐рдкрд┐рд▓реЗрд╡ рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк,
рдиреЗрдЯрд┐рд╡ рдореЗрдореЛрд░реА рдЯреНрд░реИрдХрд┐рдВрдЧ , рдмрд▓реНрдХрд┐ рдЦрддрд░рдирд╛рдХ рд▓рдЧ рд░рд╣рд╛ рдерд╛ рдпрд╛ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рдЧрд┐рд░рд╛рд╡рдЯ рдХрд╛ рдХрд╛рд░рдг рдмрдирд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╢реИрдХреНрд╖рд┐рдХ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЗрд╕ рд▓реЗрдЦ рдХреЛ рдкрдврд╝рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВред
рдЗрд╕ рдмреАрдЪ, рдЪрд▓рд┐рдП рдЕрдЧрд▓реЗ рд╡рд┐рд╖рдп рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВ рдФрд░ рдЕрдВрдд рдореЗрдВ, рдпрд╣ рдЬрд╛рдирдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдореЗрдореЛрд░реА рдХреА рдЦрдкрдд рдХреИрд╕реЗ рд╕реАрдорд┐рдд рдХрд░реЗрдВ рдФрд░ рд╕рд╣реА рд╕реАрдорд╛ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред
рдореЗрдореЛрд░реА рдХреА рдЦрдкрдд рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдирд╛: рд╣реАрдк, рдиреЙрди-рд╣реАрдк, рдбрд╛рдпрд░реЗрдХреНрдЯ рдореЗрдореЛрд░реА
рд╕рдм рдХреБрдЫ рд╕рд╣реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдпрд╛рдж рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЬрд╛рд╡рд╛ рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдХреМрди рд╕реА рдореЗрдореЛрд░реА рд╣реЛрддреА рд╣реИред рдкрд╣рд▓реЗ, рдЖрдЗрдП рдЙрди рдкреВрд▓реЛрдВ рдХреЛ рджреЗрдЦреЗрдВ рдЬрд┐рдирдХреА рд╕реНрдерд┐рддрд┐ рдкрд░ рдЬреЗрдПрдордПрдХреНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирдЬрд░ рд░рдЦреА рдЬрд╛ рд╕рдХрддреА рд╣реИред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ,
рдХреВрд▓реНрд╣реЗ рд╣реИ ред рдпрд╣ рд╕рд░рд▓ рд╣реИ: рд╣рдо
-Xmx
, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд╕рд╣реА рдХреИрд╕реЗ рдХрд░реЗрдВ? рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣рд╛рдВ рдХреЛрдИ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдиреБрд╕реНрдЦрд╛ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рд╕рдм рдЖрд╡реЗрджрди рдФрд░ рд▓реЛрдб рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдирдИ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдЙрдЪрд┐рдд рд╣реАрдк рдЖрдХрд╛рд░ (128 рдПрдордмреА) рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░, рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдЗрд╕реЗ рдмрдврд╝рд╛рдПрдВ рдпрд╛ рдШрдЯрд╛рдПрдВред рдореМрдЬреВрджрд╛ рд▓реЛрдЧреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореЗрдореЛрд░реА рдЦрдкрдд рдФрд░ рдЬреАрд╕реА рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рдЧреНрд░рд╛рдл рдХреЗ рд╕рд╛рде рдирд┐рдЧрд░рд╛рдиреА рд╣реИред
рдЙрд╕реА рд╕рдордп
-Xms == -Xmx
рд░реВрдк рдореЗрдВ рд╣рдо рд╕реЗрдЯ
-Xms == -Xmx
ред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдореЗрдореЛрд░реА рдУрд╡рд░рд╕реЗрд▓рд┐рдВрдЧ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╣рдорд╛рд░реЗ рд╣рд┐рддреЛрдВ рдореЗрдВ рд╣реИ рдХрд┐ рд╕реЗрд╡рд╛ рдЙрди рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ рдЬреЛ рд╣рдордиреЗ рдЗрд╕реЗ рдЕрдзрд┐рдХрддрдо рджрд┐рдпрд╛ рдерд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рд╛рдзрд╛рд░рдг рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ рд╣рдо рд╢рд╛рдорд┐рд▓ рд╣реИрдВ
-XX:+AlwaysPreTouch
рдФрд░ рдкрд╛рд░рджрд░реНрд╢реА рд╡рд┐рд╢рд╛рд▓ рдкреГрд╖реНрда рддрдВрддреНрд░:
-XX:+UseTransparentHugePages -XX:+UseLargePagesInMetaspace
ред рд╣рд╛рд▓рд╛рдВрдХрд┐, THP рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдзреНрдпрд╛рди рд╕реЗ
рдкреНрд░рд▓реЗрдЦрди рдкрдврд╝реЗрдВ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВ рдХрд┐ рд╕реЗрд╡рд╛рдПрдВ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддреА рд╣реИрдВред рдЕрдкрд░реНрдпрд╛рдкреНрдд рд░реИрдо рдХреЗ рд╕рд╛рде рдорд╢реАрдиреЛрдВ рдкрд░ рдЖрд╢реНрдЪрд░реНрдп рд╕реЗ рдЗрдирдХрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдмреЗрдВрдЪ рдкрд░ рдЯреАрдПрдЪрдкреА рдХреЛ рдмрдВрдж рдХрд░рдирд╛ рдкрдбрд╝рд╛)ред
рдЕрдЧрд▓рд╛
рдЧреИрд░-рдвреЗрд░ рд╣реИ ред рдЧреИрд░-рд╣реАрдк рдореЗрдореЛрд░реА рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
- рдореЗрдЯрд╛рд╕реНрдкреИрд╕ рдФрд░ рдХрдореНрдкреНрд░реЗрд╕реНрдб рдХреНрд▓рд╛рд╕ рд╕реНрдкреЗрд╕,
- рдХреЛрдб рдХреИрд╢ред
рдХреНрд░рдо рдореЗрдВ рдЗрди рдкреВрд▓реЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
рдмреЗрд╢рдХ, рд╕рднреА рдиреЗ
рдореЗрдЯрд╛рд╕реИрдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реБрдирд╛ рд╣реИ, рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрд╛рдд рдирд╣реАрдВ рдХреА рд╣реИред рдпрд╣ рд╡рд░реНрдЧ рдореЗрдЯрд╛рдбреЗрдЯрд╛, рд╡рд┐рдзрд┐ рдмрд╛рдЗрдЯрдХреЛрдб, рдФрд░ рдЗрд╕реА рддрд░рд╣ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдореЗрдЯрд╕реНрдкреИрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реАрдзреЗ рд▓реЛрдб рдХреА рдЧрдИ рдХрдХреНрд╖рд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдЖрдХрд╛рд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЖрдк рдЗрд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХреВрд▓реНрд╣реЗ рдХреА рддрд░рд╣, рдХреЗрд╡рд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рдХрд░рдХреЗ рдФрд░ рдЬреЗрдПрдордПрдХреНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЛ рд╣рдЯрд╛рдХрд░ред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, Metaspace рдХреБрдЫ рднреА рд╕реАрдорд┐рдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди
-XX:MaxMetaspaceSize
рд╕рд╛рде рдРрд╕рд╛ рдХрд░рдирд╛ рдХрд╛рдлреА рдЖрд╕рд╛рди рд╣реИред
рд╕рдВрдкреАрдбрд╝рд┐рдд рдХреНрд▓рд╛рд╕ рд╕реНрдкреЗрд╕ , рдореЗрдЯрд╛рд╕реНрдкреИрд╕ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ рдФрд░ рддрдм рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ рдЬрдм
-XX:+UseCompressedClassPointers
рд╡рд┐рдХрд▓реНрдк рд╕рдХреНрд╖рдо рд╣реЛрддрд╛ рд╣реИ (32 рдЬреАрдмреА рд╕реЗ рдХрдо рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рдХреНрд╖рдо рд╣реЛрддрд╛ рд╣реИ, рдпрд╛рдиреА рдЬрдм рдпрд╣ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореЗрдореЛрд░реА рдЧреЗрди рджреЗ рд╕рдХрддрд╛ рд╣реИ)ред рдЗрд╕ рдкреВрд▓ рдХрд╛ рдЖрдХрд╛рд░
-XX:CompressedClassSpaceSize
рд╡рд┐рдХрд▓реНрдк рджреНрд╡рд╛рд░рд╛ рд╕реАрдорд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдордЭрджрд╛рд░реА рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ Compressed Class Space Metaspace рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИ рдФрд░ Metaspace рдФрд░ Compass рдХреНрд▓рд╛рд╕ рд╕реНрдкреЗрд╕ рдХреЗ рд▓рд┐рдП рд▓реЙрдХ рдореЗрдореЛрд░реА рдХреА рдХреБрд▓ рдорд╛рддреНрд░рд╛ рдЕрдВрддрддрдГ рдПрдХ
-XX:MaxMetaspaceSize
рддрдХ рд╕реАрдорд┐рдд рд╣реИ
-XX:MaxMetaspaceSize
ред
рд╡реИрд╕реЗ, рдЕрдЧрд░ рдЖрдк рдЬреЗрдПрдордПрдХреНрд╕ рд░реАрдбрд┐рдВрдЧ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЧреИрд░-рд╣реАрдк рдореЗрдореЛрд░реА рдХреА рдорд╛рддреНрд░рд╛ рдХреА рдЧрдгрдирд╛ рд╣рдореЗрд╢рд╛ рдореЗрдЯрд╕реНрдкреИрд╕, рдХрдореНрдкреНрд░реЗрд╕реНрдб рдХреНрд▓рд╛рд╕ рд╕реНрдкреЗрд╕ рдФрд░ рдХреЛрдб рдХреИрд╢ рдХреЗ
рдпреЛрдЧ рдХреЗ рд░реВрдк рдореЗрдВ
рдХреА рдЬрд╛рддреА рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЖрдкрдХреЛ рдХреЗрд╡рд▓ Metaspace рдФрд░ CodeCache рдХреЛ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдЗрд╕рд▓рд┐рдП, рдиреЙрди-рд╣реАрдк рдореЗрдВ рдХреЗрд╡рд▓
рдХреЛрдб рдХреИрд╢ рдмрдирд╛ рд░рд╣рд╛ - JIT рдХрдВрдкрд╛рдЗрд▓рд░ рджреНрд╡рд╛рд░рд╛ рд╕рдВрдХрд▓рд┐рдд рдХреЛрдб рдХрд╛ рднрдВрдбрд╛рд░ред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдЗрд╕рдХрд╛ рдЕрдзрд┐рдХрддрдо рдЖрдХрд╛рд░ 240 рдПрдордмреА рдкрд░ рд╕реЗрдЯ рд╣реИ, рдФрд░ рдЫреЛрдЯреА рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╕реЗ рдХрдИ рдЧреБрдирд╛ рдмрдбрд╝рд╛ рд╣реИред рдХреЛрдб рдХреИрд╢ рдХрд╛ рдЖрдХрд╛рд░
-XX:ReservedCodeCacheSize
рд╕рд╛рде рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
-XX:ReservedCodeCacheSize
рдХреИрд╢ рд╡рд┐рдХрд▓реНрдкред рд╕рд╣реА рдЖрдХрд╛рд░ рдХреЗрд╡рд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЪрд▓рд╛рдиреЗ рдФрд░ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд▓реЛрдб рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдХреЗ рддрд╣рдд рдЗрд╕рдХрд╛ рдкрд╛рд▓рди рдХрд░рдХреЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рдЧрд▓рддреА рди рдХрд░реЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдкрд░реНрдпрд╛рдкреНрдд рдХреЛрдб рдХреИрд╢ рдХреИрд╢ рд╕реЗ рдардВрдбрд╛ рдФрд░ рдкреБрд░рд╛рдирд╛ рдХреЛрдб рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ (
-XX:+UseCodeCacheFlushing
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк
-XX:+UseCodeCacheFlushing
рд╕рдХреНрд╖рдо рд╣реИ), рдФрд░ рдпрд╣ рдмрджрд▓реЗ рдореЗрдВ, рд╕реАрдкреАрдпреВ рдХреА рдЦрдкрдд рдФрд░ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдЧрд┐рд░рд╛рд╡рдЯ рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддрд╛ рд╣реИред ред рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдк рдХреЛрдб рдХреИрд╢ рдХреЛ рдУрд╡рд░рдлреНрд▓реЛ рд╣реЛрдиреЗ рдкрд░ OOM рдлреЗрдВрдХ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рдХреЗ рд▓рд┐рдП рднреА
-XX:+ExitOnFullCodeCache
, рд▓реЗрдХрд┐рди, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ рдХреЗрд╡рд▓ JVM рдХреЗ
рд╡рд┐рдХрд╛рд╕ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИред
рдЕрдВрддрд┐рдо рдкреВрд▓ рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬреЗрдПрдордПрдХреНрд╕ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╣реИ, рд╡рд╣
рдкреНрд░рддреНрдпрдХреНрд╖ рдореЗрдореЛрд░реА рд╣реИ ред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдЗрд╕рдХрд╛ рдЖрдХрд╛рд░ рд╕реАрдорд┐рдд рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреА рд╕реАрдорд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ - рдХрдо рд╕реЗ рдХрдо рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдЬреИрд╕реЗ рдХрд┐ рдиреЗрдЯреНрдЯреА, рдЬреЛ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдкреНрд░рддреНрдпрдХреНрд╖ рдмрд╛рдЗрдЯ рдмрдлрд╝рд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
-XX:MaxDirectMemorySize
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╕реАрдорд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ
-XX:MaxDirectMemorySize
, рдФрд░, рдлрд┐рд░ рд╕реЗ, рдХреЗрд╡рд▓ рдирд┐рдЧрд░рд╛рдиреА рд╕реЗ рд╣рдореЗрдВ рд╕рд╣реА рдореВрд▓реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓реЗрдЧреАред
рддреЛ рдЕрдм рддрдХ рд╣рдореЗрдВ рдХреНрдпрд╛ рдорд┐рд▓рд╛?
рдЬрд╛рд╡рд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдореЛрд░реА =
рд╣реАрдк + рдореЗрдЯрд╕реНрдкреЗрд╕ + рдХреЛрдб рдХреИрд╢ + рдбрд╛рдпрд░реЗрдХреНрдЯ рдореЗрдореЛрд░реА =
-рдПрдХреНрд╕рдПрдордПрдХреНрд╕ +
-рдПрдХреНрд╕рдПрдХреНрд╕: рдореИрдХреНрд╕рдореИрдЯреЗрд╕реИрд╕реЗрдЬрд╝ +
-XX: рдЖрд░рдХреНрд╖рд┐рддрдХреЛрдбрдЪреИрдХреЗрдЬ +
-XX: MaxDirectMemorySize
рдЖрдЗрдП рдЪрд╛рд░реНрдЯ рдкрд░ рд╕рдм рдХреБрдЫ рдЦреАрдВрдЪрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдФрд░ рдЗрд╕рдХреА рддреБрд▓рдирд╛ рдЖрд░рдПрд╕рдПрд╕ рдбреЙрдХрдЯрд░ рдХрдВрдЯреЗрдирд░ рд╕реЗ рдХрд░реЗрдВред
рдКрдкрд░ рдХреА рдкрдВрдХреНрддрд┐ рдХрдВрдЯреЗрдирд░ рдХрд╛ рдЖрд░рдПрд╕рдПрд╕ рд╣реИ рдФрд░ рдпрд╣ рдЬреЗрд╡реАрдПрдо рдХреА рдореЗрдореЛрд░реА рдЦрдкрдд рд╕реЗ рдбреЗрдврд╝ рдЧреБрдирд╛ рдЕрдзрд┐рдХ рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдо рдЬреЗрдПрдордПрдХреНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдореЙрдирд┐рдЯрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЖрдЧреЗ рдХреА рдЦреБрджрд╛рдИ!
рдореЗрдореЛрд░реА рдХреА рдЦрдкрдд рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдирд╛: рдиреЗрдЯрд┐рд╡ рдореЗрдореЛрд░реА рдЯреНрд░реИрдХрд┐рдВрдЧ
рдмреЗрд╢рдХ, рдвреЗрд░, рдЧреИрд░-рдвреЗрд░ рдФрд░ рдкреНрд░рддреНрдпрдХреНрд╖ рдореЗрдореЛрд░реА рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬреЗрд╡реАрдПрдо рдЕрдиреНрдп рдореЗрдореЛрд░реА рдкреВрд▓ рдХрд╛ рдПрдХ рдкреВрд░рд╛ рдЧреБрдЪреНрдЫрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
-XX:NativeMemoryTracking=summary
рдзреНрд╡рдЬ рд╣рдореЗрдВ рдЙрдирд╕реЗ
-XX:NativeMemoryTracking=summary
рдорджрдж рдХрд░реЗрдЧрд╛
-XX:NativeMemoryTracking=summary
ред рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдХреЗ, рд╣рдо JVM рдХреЛ рдЬреНрдЮрд╛рдд рдкреВрд▓реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗ, рд▓реЗрдХрд┐рди JMX рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИрдВред рдЖрдк
рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред
рдЖрдЗрдП рд╕рдмрд╕реЗ рд╕реНрдкрд╖реНрдЯ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ -
рдереНрд░реЗрдб рдХреЗ
рдвреЗрд░ рджреНрд╡рд╛рд░рд╛ рдХрдмреНрдЬрд╛ рдХреА рдЧрдИ рд╕реНрдореГрддрд┐ред рд╣рдорд╛рд░реА рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП NMT рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рддрд╛ рд╣реИ:
рдереНрд░реЗрдб (рдЖрд░рдХреНрд╖рд┐рдд = 32166KB, рдкреНрд░рддрд┐рдмрджреНрдз = 5358KB)
(рдзрд╛рдЧрд╛ # 52)
(рд╕реНрдЯреИрдХ: рдЖрд░рдХреНрд╖рд┐рдд = 31920KB, рдкреНрд░рддрд┐рдмрджреНрдз = 5112KB)
(рдореЙрд▓реЛрдХ = 185KB # 270)
(рдЕрдЦрд╛рдбрд╝рд╛ = ремрез рдХреЗрдмреА # резрежреи)
рд╡реИрд╕реЗ, рдЗрд╕рдХрд╛ рдЖрдХрд╛рд░ рдиреЗрдЯрд┐рд╡ рдореЗрдореЛрд░реА рдЯреНрд░реИрдХрд┐рдВрдЧ рдХреЗ рдмрд┐рдирд╛ рднреА рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, jstack рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдФрд░
/proc/<pid>/smaps
рдореЗрдВ рдереЛрдбрд╝рд╛
/proc/<pid>/smaps
ред рдПрдВрдбреНрд░реА рдкреИрдВрдЧрд┐рди рдиреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ
рд╡рд┐рд╢реЗрд╖ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд░рдЦреАред
рд╕рд╛рдЭрд╛ рдХреНрд▓рд╛рд╕ рд╕реНрдкреЗрд╕ рдХрд╛ рдЖрдХрд╛рд░ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдирд╛ рдФрд░ рднреА рдЖрд╕рд╛рди рд╣реИ:
рд╕рд╛рдЭрд╛ рд╡рд░реНрдЧ рд╕реНрдерд╛рди (рдЖрд░рдХреНрд╖рд┐рдд = 17084KB, рдкреНрд░рддрд┐рдмрджреНрдз = 17084KB)
(mmap: рдЖрд░рдХреНрд╖рд┐рдд = 17084KB, рдкреНрд░рддрд┐рдмрджреНрдз = 17084KB)
рдпрд╣ рдХреНрд▓рд╛рд╕ рдбреЗрдЯрд╛ рд╢реЗрдпрд░рд┐рдВрдЧ рддрдВрддреНрд░ рд╣реИ,
-Xshare
рдФрд░
-XX:+UseAppCDS
-Xshare
ред рдЬрд╛рд╡рд╛ 11 рдореЗрдВ,
-Xshare
рд╡рд┐рдХрд▓реНрдк рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдСрдЯреЛ рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЕрдЧрд░ рдЖрдкрдХреЗ рдкрд╛рд╕
$JAVA_HOME/lib/server/classes.jsa
(рдпрд╣ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ OpenJDK docker рдЫрд╡рд┐ рдореЗрдВ рд╣реИ), рдпрд╣ рдореЗрдореЛрд░реА рдореИрдк рдХреЛ рд▓реЛрдб рдХрд░реЗрдЧрд╛- JVM рдХреЗ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рдУрдо, рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдХреЗ рд╕рдордп рдореЗрдВ рддреЗрдЬреАред рддрджрдиреБрд╕рд╛рд░, рд╕рд╛рдЭрд╛ рд╡рд░реНрдЧ рд╕реНрдерд╛рди рдХрд╛ рдЖрдХрд╛рд░ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЖрдк рдЬреЗрдПрд╕рдП-рдЕрднрд┐рд▓реЗрдЦрд╛рдЧрд╛рд░ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдЬрд╛рдирддреЗ рд╣реИрдВред
рджреЗрд╢реА
рдХрдЪрд░рд╛ рдХрд▓реЗрдХреНрдЯрд░ рд╕рдВрд░рдЪрдирд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИрдВ:
рдЬреАрд╕реА (рдЖрд░рдХреНрд╖рд┐рдд = 42137KB, рдкреНрд░рддрд┐рдмрджреНрдз = 41801KB)
(рдорд╛рд▓реЛрдХ = 5705KB # 9460)
(рдорд┐рдореАрдк: рдЖрд░рдХреНрд╖рд┐рдд = 36432KB, рдкреНрд░рддрд┐рдмрджреНрдз = 36096KB)
рдиреЗрдЯрд┐рд╡ рдореЗрдореЛрд░реА рдЯреНрд░реИрдХрд┐рдВрдЧ рдкрд░ рдкрд╣рд▓реЗ рд╕реЗ рдмрддрд╛рдП рдЧрдП рдореИрдиреБрдЕрд▓ рдореЗрдВ рдПрд▓реЗрдХреНрд╕реА рд╢рд┐рдкрд┐рд▓реЗрд╡ рдХрд╛
рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рд╡реЗ рдвреЗрд░ рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рд▓рдЧрднрдЧ 4-5% рд╣рд┐рд╕реНрд╕реЗ рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░ рд▓реЗрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЫреЛрдЯреЗ рдвреЗрд░ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рд╕реЗрдЯрдЕрдк рдореЗрдВ (рдХрдИ рд╕реМ рдореЗрдЧрд╛рдмрд╛рдЗрдЯ рддрдХ) рдУрд╡рд░рд╣реЗрдб рдвреЗрд░ рдХреЗ рдЖрдХрд╛рд░ рдХрд╛ 50% рддрдХ рдкрд╣реБрдВрдЪ рдЧрдпрд╛ред
рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╕реНрдерд╛рди рдкрд░
рдкреНрд░рддреАрдХ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдХрдмреНрдЬрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
рдкреНрд░рддреАрдХ (рдЖрд░рдХреНрд╖рд┐рдд = 16421KB, рдкреНрд░рддрд┐рдмрджреНрдз = 16421KB)
(рдорд╛рд▓реЙрдХ = 15261KB # 203089)
(рдЕрдЦрд╛рдбрд╝рд╛ = 1159 рдХреЗрдмреА # 1)
рд╡реЗ рд╡рд┐рдзрд┐рдпреЛрдВ, рд╣рд╕реНрддрд╛рдХреНрд╖рд░реЛрдВ рдХреЗ рдирд╛рдо, рд╕рд╛рде рд╣реА рд╕рд╛рде рдЖрдВрддрд░рд┐рдХ рддрд╛рд░ рдХреЗ рд▓рд┐рдВрдХ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреЗ рд╣реИрдВред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдкреНрд░рддреАрдХ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдЖрдХрд╛рд░ рдХрд╛ рдЕрдиреБрдорд╛рди рдХреЗрд╡рд▓ рдореВрд▓ рдореЗрдореЛрд░реА рдЯреНрд░реИрдХрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреЛрд╕реНрдЯ рдлреИрдХреНрдЯрдо рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рдПред
рдХреНрдпрд╛ рдмрдЪрд╛ рд╣реИ? рдиреЗрдЯрд┐рд╡ рдореЗрдореЛрд░реА рдЯреНрд░реИрдХрд┐рдВрдЧ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдмрд╣реБрдд рд╕рд╛рд░реА рдЪреАрдЬреЗрдВ:
рд╕рдВрдХрд▓рдХ (рдЖрд░рдХреНрд╖рд┐рдд = 509KB, рдкреНрд░рддрд┐рдмрджреНрдз = 509KB)
рдЖрдВрддрд░рд┐рдХ (рдЖрд░рдХреНрд╖рд┐рдд = 1647KB, рдкреНрд░рддрд┐рдмрджреНрдз = 1647KB)
рдЕрдиреНрдп (рдЖрд░рдХреНрд╖рд┐рдд = 2110KB, рдкреНрд░рддрд┐рдмрджреНрдз = 2110KB)
рдПрд░рд┐рдирд╛ рдЪрдВрдХ (рдЖрд░рдХреНрд╖рд┐рдд = 1712KB, рдкреНрд░рддрд┐рдмрджреНрдз = 1712KB)
рд▓реЙрдЧрд┐рдВрдЧ (рдЖрд░рдХреНрд╖рд┐рдд = 6KB, рдкреНрд░рддрд┐рдмрджреНрдз = 6KB)
рддрд░реНрдХ (рдЖрд░рдХреНрд╖рд┐рдд = 19KB, рдкреНрд░рддрд┐рдмрджреНрдз = 19KB)
рдореЙрдбреНрдпреВрд▓ (рдЖрд░рдХреНрд╖рд┐рдд = 227KB, рдкреНрд░рддрд┐рдмрджреНрдз = 227KB)
рдЕрдЬреНрдЮрд╛рдд (рдЖрд░рдХреНрд╖рд┐рдд = 32KB, рдкреНрд░рддрд┐рдмрджреНрдз = 32KB)
рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдм рдХрд╛рдлреА рдЬрдЧрд╣ рд▓реЗрддрд╛ рд╣реИред
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╕реНрдореГрддрд┐ рдХреЗ рдХрдИ рдЙрд▓реНрд▓реЗрдЦрд┐рдд рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рди рддреЛ рд╕реАрдорд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рди рд╣реА рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдирд░рдХ рдореЗрдВ рдмрджрд▓ рдЬрд╛рдПрдЧрд╛ред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЙрдирдХреА рд╕реНрдерд┐рддрд┐ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдирд╛ рдПрдХ рдЧреИрд░-рддреБрдЪреНрдЫ рдХрд╛рд░реНрдп рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдиреЗрдЯрд┐рд╡ рдореЗрдореЛрд░реА рдЯреНрд░реИрдХрд┐рдВрдЧ рдХреЗ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рд╕реЗ рдЖрд╡реЗрджрди рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдереЛрдбрд╝реА рдХрдореА рдЖрддреА рд╣реИ рдФрд░ рдЗрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реЗрд╡рд╛ рдореЗрдВ рдЙрддреНрдкрд╛рджрди рдкрд░ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рд╣реИред
рдлрд┐рд░ рднреА, рд░реБрдЪрд┐ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рдЧреНрд░рд╛рдлрд╝ рдкрд░ рдЙрд╕ рд╕рдм рдХреБрдЫ рдХреЛ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ рдЬреЛ рдореВрд▓ рдореЗрдореЛрд░реА рдЯреНрд░реИрдХрд┐рдВрдЧ рд░рд┐рдкреЛрд░реНрдЯ:
рдмреБрд░рд╛ рдирд╣реАрдВ рд╣реИ! рд╢реЗрд╖ рдЕрдВрддрд░ рд╕реНрдореГрддрд┐ рдХреЗ рд╡рд┐рдЦрдВрдбрди / рдЖрд╡рдВрдЯрди рдХреЗ рд▓рд┐рдП рдПрдХ рдУрд╡рд░рд╣реЗрдб рд╣реИ (рдпрд╣ рдмрд╣реБрдд рдЫреЛрдЯрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдЬреЗрдорд╛рд▓реЙрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ) рдпрд╛ рд╕реНрдореГрддрд┐ рдЬреЛ рдХрд┐ рдореВрд▓ рд░реВрдк рд╕реЗ рдЖрд╡рдВрдЯрд┐рдд рдХреА рдЧрдИ рд╣реИред рд╣рдо рд╕рд┐рд░реНрдл рдЙрдкрд╕рд░реНрдЧ рдкреЗрдбрд╝ рдХреЗ рдХреБрд╢рд▓ рднрдВрдбрд╛рд░рдг рдХреЗ рд▓рд┐рдП рдЗрдирдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рдЗрд╕рд▓рд┐рдП, рд╣рдорд╛рд░реА рдЬрд░реВрд░рддреЛрдВ рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рдХрд┐ рд╣рдо рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рд╣реАрдк, рдореЗрдЯрд╛рд╕реНрдкреЗрд╕, рдХреЛрдб рдХреИрд╢, рдбрд╛рдпрд░реЗрдХреНрдЯ рдореЗрдореЛрд░реАред рдмрд╛рдХреА рд╕рдм рдХреБрдЫ рдХреЗ рд▓рд┐рдП, рд╣рдо рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдорд╛рдк рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреБрдЫ рдЙрдЪрд┐рдд рдЖрдзрд╛рд░ рдХреЛ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВред
рд╕реАрдкреАрдпреВ рдФрд░ рдореЗрдореЛрд░реА рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдЕрдЧрд▓реЗ рд╕рдВрд╕рд╛рдзрди рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдбрд┐рд╕реНрдХ рдХреЛред
рдЬрд╛рд╡рд╛ рдФрд░ рдбреНрд░рд╛рдЗрд╡
рдФрд░ рдЙрдирдХреЗ рд╕рд╛рде, рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рдЦрд░рд╛рдм рд╣реИ: рд╡реЗ рдзреАрдореЗ рд╣реИрдВ рдФрд░ рдЖрд╡реЗрджрди рдХреА рдореВрд░реНрдд рдордВрджрддрд╛ рдХреЛ рдЬрдиреНрдо рджреЗ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рд╣рдо рдЬрд╛рд╡рд╛ рдХреЛ рдпрдерд╛рд╕рдВрднрд╡ рдбрд┐рд╕реНрдХ рд╕реЗ рд╣рдЯрд╛рддреЗ рд╣реИрдВ:
- рд╣рдо UDP рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдиреАрдп syslog рдореЗрдВ рд╕рднреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдЧ рд▓рд┐рдЦрддреЗ рд╣реИрдВред рдпрд╣ рдХреБрдЫ рдореМрдХрд╛ рдЫреЛрдбрд╝рддрд╛ рд╣реИ рдХрд┐ рдЖрд╡рд╢реНрдпрдХ рд▓реЙрдЧ рд░рд╛рд╕реНрддреЗ рдореЗрдВ рдХрд╣реАрдВ рдЦреЛ рдЬрд╛рдПрдВрдЧреЗ, рд▓реЗрдХрд┐рди, рдЬреИрд╕рд╛ рдХрд┐ рдЕрднреНрдпрд╛рд╕ рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ, рдРрд╕реЗ рдорд╛рдорд▓реЗ рдмрд╣реБрдд рджреБрд░реНрд▓рдн рд╣реИрдВред
- рд╣рдо рдЬреЗрд╡реАрдПрдо рд▓реЙрдЧ рдХреЛ tmpfs рдореЗрдВ рд▓рд┐рдЦреЗрдВрдЧреЗ, рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдбреЙрдХрдЯрд░ рдХреЛ
/dev/shm
рд╕рд╛рде рд╡рд╛рдВрдЫрд┐рдд рд╕реНрдерд╛рди рдкрд░ рдорд╛рдЙрдВрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдпрджрд┐ рд╣рдо syslog рдпрд╛ tmpfs рдореЗрдВ рд▓реЙрдЧ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реНрд╡рдпрдВ рдбрд┐рд╕реНрдХ рдкрд░ рд╣рд┐рдк-рдбрдВрдк рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рдирд╣реАрдВ рд▓рд┐рдЦрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдбрд┐рд╕реНрдХ рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рдЗрд╕ рдкрд░ рдмрдВрдж рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?
рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВред
рд╣рдо рд╕реНрдЯреЙрдк-рдж-рд╡рд░реНрд▓реНрдб рдкреЙрдЬрд╝ рдХреА рдЕрд╡рдзрд┐ рдХреЗ рдЧреНрд░рд╛рдл рдкрд░ рдзреНрдпрд╛рди рджреЗрддреЗ рд╣реИрдВ рдФрд░ рд╣рдо рдПрдХ рдЙрджрд╛рд╕ рддрд╕реНрд╡реАрд░ рджреЗрдЦрддреЗ рд╣реИрдВ - рд╣реЛрд╕реНрдЯ рдкрд░ рд╕реНрдЯреЙрдк-рдж-рд╡рд░реНрд▓реНрдб-рдкреЙрдЬрд╝реЗрд╕ рд╕реИрдХрдбрд╝реЛрдВ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рд╣реИрдВ, рдФрд░ рдПрдХ рдореЗрдЬрдмрд╛рди рдкрд░ рд╡реЗ рдПрдХ рд╕реЗрдХрдВрдб рддрдХ рдкрд╣реБрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ:
рдпрд╣ рдХрд╣рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдЖрд╡реЗрджрди рдХреЛ рдирдХрд╛рд░рд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ? рдпрд╣рд╛рдБ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдЧреНрд░рд╛рдл рд╣реИ рдЬреЛ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕реЗрд╡рд╛ рдХреЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордп рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ:

рдХреИрд╢реНрдб рд░рд┐рд╕реНрдкреЙрдиреНрд╕ рджреЗрдиреЗ рд╡рд╛рд▓реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рд╕реЗрд╡рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП 95 рдкреНрд░рддрд┐рд╢рдд рдкреНрд░рддрд┐рд╢рдд рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдРрд╕реЗ рдирд┐рд╖реЗрдзрд╛рддреНрдордХ рд╕рдордп рдХрд╣рд╛рдВ рд╕реЗ рд╣реИрдВ? рдЕрдиреНрдп рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ рдПрдХ рд╕рдорд╛рди рддрд╕реНрд╡реАрд░ рд╣реИ, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рдордп-рд╕рдордп рдкрд░ рдПрд╡рд┐рдПрдмрд▓ рдХреЙрдиреНрд╕реНрдЯреЗрдВрд╕реА рдХреЗ рд╕рд╛рде рдмрд╛рд░рд┐рд╢ рд╣реЛ рд░рд╣реА рд╣реИ рдЬрдм рдХрдиреЗрдХреНрд╢рди рдкреВрд▓ рд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдХрдиреЗрдХреНрд╢рди рд▓реЗ рд░рд╣реЗ рд╣реИрдВ, рдЬрдм рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдЗрд╕реА рддрд░рд╣ред
рдбреНрд░рд╛рдЗрд╡ рдХреЛ рдЗрд╕рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ? - рдЖрдк рдкреВрдЫреЗрдВред рдпрд╣ рдЗрд╕рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдХреБрдЫ рдХрд░рддрд╛ рд╣реИред
рд╕рдорд╕реНрдпрд╛ рдХреЗ рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдПрд╕рдЯреАрдбрдмреНрд▓реНрдпреВ-рдкреЙрдЬрд╝ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдЙрддреНрдкрдиреНрди рд╣реЛрддреЗ рд╣реИрдВ рдХрд┐ рдереНрд░реЗрдб рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рд╕реНрдерд╛рди рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВред рдЬреЗрд╡реАрдПрдо рдХреЛрдб рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдордиреЗ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рд╕реЗрдлрдкреЙрдЗрдВрдЯ рдкрд░ рдереНрд░реЗрдбреНрд╕ рдХреЗ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рджреМрд░рд╛рди, рдЬреЗрд╡реАрдПрдо рдореЗрдореЛрд░реА рдореИрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдлрд╛рдЗрд▓
/tmp/hsperfdata*
рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рдХреБрдЫ рдЖрдВрдХрдбрд╝реЗ рдирд┐рд░реНрдпрд╛рдд рдХрд░рддрд╛ рд╣реИред
jstat
рдФрд░
jps
рдЬреИрд╕реА рдЙрдкрдпреЛрдЧрд┐рддрд╛рдПрдБ
jstat
jps
рдЙрдкрдпреЛрдЧ
jstat
jps
ред
рд╡рд┐рдХрд▓реНрдк
-XX:+PerfDisableSharedMem
рд╕рд╛рде рдПрдХ рд╣реА рдорд╢реАрди рдкрд░ рдЗрд╕реЗ рдЕрдХреНрд╖рдо рдХрд░реЗрдВ
-XX:+PerfDisableSharedMem
рдФрд░ ...
рдЬреЗрдЯреНрдЯреА рдЯреНрд░реЗрдбрдорд┐рд▓ рдореИрдЯреНрд░рд┐рдХреНрд╕ рд╕реНрдерд┐рд░:
(, ):
, , , .
?
Java- , , , .
Nuts and Bolts , . , . , , JMX.
, . .
statsd JVM, (heap, non-heap ):
, , .
тАФ , , , , ? . () -, , RPS .
: , . . ammo-
. . . :
.
, . , , - , , .
рдирд┐рд╖реНрдХрд░реНрд╖ рдореЗрдВ
, Java Docker тАФ , . .