рдЬреАрд╕реА рдард╣рд░рд╛рд╡ рд╕реЗ рдХреИрд╕реЗ рдирд┐рдкрдЯреЗрдВ

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



рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЬреАрд╕реА рдФрд░ рд╕реАрдПрдордПрд╕ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рд╕рд┐рджреНрдзрд╛рдВрдд рдпрд╣рд╛рдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрд┐рдд рд╣реИрдВ ред рдореИрдВ рдХреЗрд╡рд▓ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдпрд╣рд╛рдБ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рд╣рдореЗрдВ рдЗрд╕ рд╡рд┐рд╖рдп рдХреЛ рд╕рдордЭрдиреЗ рдХреА рдХреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

рдЗрд╕рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреНрд╖рдг рд╣реИрдВ рдЬрдм рд╣рдорд╛рд░рд╛ рдЖрд╡реЗрджрди рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
  1. рдорд╛рдореВрд▓реА рдХрдЪрд░рд╛ рд╕рдВрдЧреНрд░рд╣
  2. Init-mark рд╕реАрдПрдордПрд╕ рдЪрд░рдг
  3. рд░рд┐рдорд╛рд░реНрдХ рдЪрд░рдг рд╕реАрдПрдордПрд╕
  4. рдлреБрд▓ рдЬреА.рд╕реА.

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

-verbose:gc
-Xloggc:gc.log
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps
-XX:+PrintGCApplicationStoppedTime

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

1. рдорд╛рдореВрд▓реА рдХрдЪрд░рд╛ рд╕рдВрдЧреНрд░рд╣рдг рдХреЛ рдзреАрдорд╛ рдХрд░рддрд╛ рд╣реИред


[GC [DefNew: 209100K->25808K(235968K), 0.0828063 secs] 209100K->202964K(1284544K), 0.0828351 secs] [Times: user=0.02 sys=0.08, real=0.08 secs]
Total time for which application threads were stopped: 0.0829205 seconds

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

рдПрдХред рдЖрдкрдХрд╛ JVM рдПрдХ рдЕрдиреБрдкрдпреБрдХреНрдд рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЙрдкрд░реЛрдХреНрдд рд▓реЙрдЧ рдПрдХрд▓-рдереНрд░реЗрдбреЗрдб рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо (DefNew) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдПрдХ рдирдП рдмрд╣реБ-рдереНрд░реЗрдбреЗрдб рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо (рд▓реЙрдЧ рдореЗрдВ рдЗрд╕реЗ ParNew рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛) рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ, рдЬрд┐рд╕реЗ рдЬрдмрд░рди -XX: + UseParNewGC рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рдЪрд╛рд▓реВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЖрдк рдпрд╣ рднреА рдЙрд▓реНрд▓реЗрдЦ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрджрд┐ рдЖрдк рд▓реЙрдЧ рдореЗрдВ PSYoungGen рдирд╛рдо рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ JVM рдПрдХ рд╕рдорд╛рдирд╛рдВрддрд░ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдкреБрд░рд╛рдирд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиред рд╣рд╛рд▓рд╛рдБрдХрд┐ CMS рдХреЗ рд╕рд╛рде рдпреБрдЧреНрдорд┐рдд, рдпрд╣ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИред

рдЦред рдЖрдкрдиреЗ рдпрдВрдЧрдЧреЗрди рдХреЗ рд▓рд┐рдП рдореЗрдореЛрд░реА рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рд╣рд┐рд╕реНрд╕рд╛ рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдпрд╛ рд╣реИ (рджрд┐рдП рдЧрдП рд▓реЙрдЧ рдореЗрдВ рдпрд╣ 235968K рд╣реИ)ред -Xmn рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд░рдХреЗ рдЗрд╕реЗ рдХрдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╕реАред рдЖрдк рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдбрд╝реА рдЕрдиреБрдордд рдЖрдпреБ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдмрдбрд╝реЗ рдЙрддреНрддрд░рдЬреАрд╡реА рд╕реНрдерд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд╡рд╛рдкрд╕ рд╡рд╣реАрдВ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдПрдХ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдорд╛рдореВрд▓реА рдЬреАрд╕реА рд▓реЛрдб рджреЗрддреЗ рд╣реБрдП рдУрд▓реНрдбрдЧреЗрди рдореЗрдВ рдирд╣реАрдВ рдлрдВрд╕ рд╕рдХрддреЗред рдпрд╣ рд╕реНрдерд┐рддрд┐ -XX: SurvivorRatio рдФрд░ -XX: MaxTenuringThreshold рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдареАрдХ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдХреЗ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдЬреАрд╕реА рд▓реЙрдЧреНрд╕ рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреА рдкреАрдврд╝рд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП JVM рдХреЛ -XX: + PrintTenuringDistribution рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред

2. init-mark рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ


[GC [1 CMS-initial-mark: 680168K(1048576K)] 706792K(1284544K), 0.0001161 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]
Total time for which application threads were stopped: 0.0002740 seconds

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

рдпрд╣рд╛рдВ рдЖрдк рдЗрд╕ рдЪрд░рдг рдореЗрдВ рднрд╛рдЧ рд▓реЗрдиреЗ рд╡рд╛рд▓реЗ рдереНрд░реЗрдбреНрд╕ (ParallelCMSThreads) рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрдврд╝рд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдЗрд╕рдХреА рдЧрдгрдирд╛ (ParallelGCThreads + 3) / 4) рдХреЗ рд░реВрдк рдореЗрдВ рдХреА рдЬрд╛рддреА рд╣реИред рдпрд╛рдиреА рдпрджрд┐ Par рд╕рдорд╛рдирд╛рдВрддрд░GCThreads = 8, рддреЛ рдХреЗрд╡рд▓ рджреЛ рдзрд╛рдЧреЗ init-mark рдЪрд░рдг рдореЗрдВ рднрд╛рдЧ рд▓реЗрдВрдЧреЗ, рдЬреЛ рдХрд┐ рд╕рдорд╛рдирддрд╛ рдХреЗ рдХрд╛рд░рдг рдЙрддреНрдкрдиреНрди рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдУрд╡рд░рд╣реЗрдб рдХреЗ рдХрд╛рд░рдг рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рд╡реГрджреНрдзрд┐ рдирд╣реАрдВ рджреЗ рд╕рдХрддрд╛ рд╣реИред

3. рд░рд┐рдорд╛рд░реНрдХ рдЪрд░рдг рдореЗрдВ рдмрдбрд╝реЗ рд╡рд┐рд░рд╛рдо


[GC[YG occupancy: 26624 K (235968 K)][Rescan (non-parallel) [grey object rescan, 0.0056478 secs][root rescan, 0.0001873 secs], 0.0059038 secs][weak refs processing, 0.0000090 secs] [1 CMS-remark: 750825K(1048576K)] 777449K(1284544K), 0.0059808 secs] [Times: user=0.00 sys=0.00, real=0.01 secs]
Total time for which application threads were stopped: 0.0061668 seconds

рдорд╛рд░реНрдХ рдЪрд░рдг рдХреЗ рджреМрд░рд╛рди, рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЪрд▓рддреА рд╣реИ рдЬреЛ рд╕рднреА рд▓рд┐рдВрдХ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддреА рд╣реИред рд╕рднреА рдмрджрд▓реЗ рд╣реБрдП рд▓рд┐рдВрдХ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рд░рд┐рдорд╛рд░реНрдХ рдЪрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдПрдХред рдпрджрд┐ рдЖрдк рд▓реЙрдЧ рдореЗрдВ "рд░реЗрд╕реНрдХреИрди (рдЧреИрд░-рд╕рдорд╛рдирд╛рдВрддрд░)" рд╡рд╛рдХреНрдпрд╛рдВрд╢ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдЗрд╕ рдЪрд░рдг рдХреЗ рд▓рд┐рдП рдХрдИ рдереНрд░реЗрдбреНрд╕ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП -XX: + CMSParallelR рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рдиEnabled рд╡рд┐рдХрд▓реНрдк рдХреЛ рд╕рдХреНрд╖рдо рдХрд░реЗрдВред

рдЦред рдЪреВрдВрдХрд┐ рдЗрд╕ рдЪрд░рдг рдореЗрдВ рд╕рдкреНрддрд╛рд╣ рдХреЗ рд╕рдВрджрд░реНрдн рдХреЛ рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╛рдл рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдк рдЙрдирдореЗрдВ рд╕реЗ рдХрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред (рдЬреИрд╕реЗ java.util.WeakHashMap)

рд╕реАред рд╢рд╛рдпрдж рдЖрдкрдХреЗ рд▓рд┐рдВрдХ рдмрд╣реБрдд рдмрджрд▓ рд░рд╣реЗ рд╣реИрдВред рджреЗрдЦреЗрдВ рдХрд┐ рдХрд┐рддрдиреЗ рд╕рдордп рдХреЗ рджреМрд░рд╛рди inital-mark рдФрд░ рдЯрд┐рдкреНрдкрдгреА рдХреЗ рдмреАрдЪ рдмреАрддрддрд╛ рд╣реИред рдЗрди рдЪрд░рдгреЛрдВ рдХреЗ рдмреАрдЪ рдХрдо рд╕рдордп рдмреАрдд рдЪреБрдХрд╛ рд╣реИ, рдХрдо рд▓рд┐рдВрдХ рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рддреЗрдЬреА рд╕реЗ рдЗрд╕рдХреА рдЯрд┐рдкреНрдкрдгреА рд╕рдорд╛рд░реЛрд╣ред рдЯрд┐рдкреНрдкрдгреА рдЪрд░рдг рд╕реЗ рдареАрдХ рдкрд╣рд▓реЗ рдкрд╛рдВрдЪрд╡реЗрдВ рдЬрд╛рд╡рд╛ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ, рдЧрд░реНрднрдкрд╛рдд-рдкреНрд░реАрдХреНрд▓реАрди рдЪрд░рдг рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛, рдЬреЛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдореИрдВ рдмрд╕ рд▓рдЯрдХрд╛ рд░рд╣рддрд╛ рд╣реИ рдФрд░ рддрдм рддрдХ рдЗрдВрддрдЬрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдорд╛рдореВрд▓реА рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреА рд╣реИ, рдлрд┐рд░ рдпрд╣ рдереЛрдбрд╝рд╛ рд▓рдВрдмрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЕрдЧрд▓рд╛ рдЪрд░рдг рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕ рддрд░реНрдХ рдХреЗ рджреЛ рдХрд╛рд░рдг рд╣реИрдВред рдкрд╣рд▓реА рдЯрд┐рдкреНрдкрдгреА рднреА рдпрдВрдЧрдЧреЗрди рдХреЛ рд╕реНрдХреИрди рдХрд░рддреА рд╣реИ рдФрд░ рдмрд╣реБ-рдереНрд░реЗрдбреЗрдб рдореЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рд▓рд┐рдП, рдПрдХ рдЫреЛрдЯреА рд╕реА рдЕрд╕реЗрдВрдмрд▓реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдпрдВрдЧрдЧреЗрди рдореЗрдВ рд╢реЗрд╖ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд╕рдорд╛рдирд╛рдВрддрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░ рджреВрд╕рд░рд╛ рдПрдХ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд░реВрдк рд╕реЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдЪрд░рдг рд╣реИ, рдФрд░ рдпрджрд┐ рдпрд╣ рдорд╛рдореВрд▓реА рдирд┐рд░реНрдорд╛рдг рдХреЗ рдареАрдХ рдмрд╛рдж рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдПрдХ рдмрдбрд╝рд╛ рд▓рдВрдмрд╛ рд░реЛрдХ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдРрд╕реЗ рдХрдИ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ: CMSScheduleRemarkEdenSizeThreshold, CMSScheduleRemarkEdenPenetration, CMSMaxAbortablePrecleanTimeред рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ CMSScavengeBeforeRemark рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ, рдЬрд┐рд╕рд╕реЗ рдПрдХ рдЫреЛрдЯреА рд╕рднрд╛ рдХреЛ рдЯрд┐рдкреНрдкрдгреА рд╕реЗ рддреБрд░рдВрдд рдкрд╣рд▓реЗ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЖрдк init-mark рдФрд░ рдЯрд┐рдкреНрдкрдгреА рдХреЗ рдмреАрдЪ рдХреЗ рд╕рдордп рдХреЛ рдпрдерд╛рд╕рдВрднрд╡ рдХрдо рдХрд░ рджреЗрдВрдЧреЗ рдФрд░ рдЯрд┐рдкреНрдкрдгреА рдЪрд░рдг рдХреЗ рд▓рд┐рдП рдХрдо рдХрд╛рдо рд╣реЛрдЧрд╛ред рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдкреНрд░рднрд╛рд╡реА рд╣реЛрдЧрд╛ рдпрджрд┐ рдЫреЛрдЯреА рд╡рд┐рдзрд╛рдирд╕рднрд╛рдУрдВ рдХреЗ рдард╣рд░рд╛рд╡ рдЯрд┐рдкреНрдкрдгреА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдХрдо рд╣реИрдВ, рдЬреЛ рдЖрдорддреМрд░ рдкрд░ рд╣реЛрддрд╛ рд╣реИред

4. рд▓реЙрдЧ рдореЗрдВ рдкреВрд░реНрдг рдЬреАрд╕реА


(concurrent mode failure): 798958K->74965K(1048576K), 0.0270334 secs] 1033467K->74965K(1284544K), [CMS Perm : 3022K->3022K(21248K)], 0.0270963 secs] [Times: user=0.03 sys=0.00, real=0.03 secs]
Total time for which application threads were stopped: 0.0271630 seconds

рдпрд╣ рдФрд░ рдХрдИ рдЕрдиреНрдп рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдкреВрд░реНрдг рдЬреАрд╕реА рдХреЗ рдХрд╛рд░рдг рдореИрдВ рдкрд╣рд▓реЗ рд╣реА рдпрд╣рд╛рдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрди рдХрд░ рдЪреБрдХрд╛ рд╣реВрдВред

рдпрд╣реА рд╕рдм рдореИрдВ рд╡рд┐рд░рд╛рдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рдЕрд░реЗ рд╣рд╛рдБ, рдХреГрдкрдпрд╛ рд╡реГрджреНрдзрд┐рд╢реАрд▓ рд╕реАрдПрдордПрд╕ (-XX: + CMSIncrementalMode) рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ, рдЬрдм рддрдХ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдпрд╛ рджреЛ рдХрд░реНрдиреЗрд▓ рди рд╣реЛрдВред рд╕рдм рдХреБрдЫ рдХреЗрд╡рд▓ рдЕрдзрд┐рдХ рдзреАрд░реЗ-рдзреАрд░реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред

рдФрд░ рдЕрдиреНрдп рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╢рдмреНрджред

рдЧрд╛рд░рдмреЗрдЬ рдлрд░реНрд╕реНрдЯ (G1), рдЬреЛ рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЬрд╛рд╡рд╛ 7 рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ рдФрд░ рдЫрдареЗ рдЬрд╛рд╡рд╛ рдореЗрдВ рдЗрд╕реЗ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдЬрд╛рд╡рд╛ рдПрд╕рдИ 6 рдЕрдкрдбреЗрдЯ 14 рд╕реЗ рд╡рд┐рдХрд▓реНрдк -XX: + UnlockExperimentalVMOptions рдФрд░XXX + + UseG1GC рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рд╡рд┐рдЪрд╛рд░ рдкреВрд░реЗ рдХреНрд╖реЗрддреНрд░ рдХреЛ рд╕реНрдореГрддрд┐ рдХреЗ рдЫреЛрдЯреЗ рд╡рд░реНрдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ рдЬреЛ рд╕рдордп рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╡рд░реНрдЧреЛрдВ рдореЗрдВ рдПрдХрддреНрд░ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдмрд╣реБрдд рдЫреЛрдЯреЗ рдард╣рд░рд╛рд╡ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд┐рднрд┐рдиреНрди рдЬреЗрд╡реАрдПрдо рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рд╡рд╛рдВрдЫрд┐рдд рдард╣рд░рд╛рд╡ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдореЗрдореЛрд░реА рдХреЛ рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдирд╣реАрдВ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХреА рдкреНрд░рднрд╛рд╡рд╢реАрд▓рддрд╛ рд╕реНрдореГрддрд┐ рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ рдХреА рдЯреЛрдкреЛрд▓реЙрдЬреА рдкрд░ рдмрд╣реБрдд рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИред рдпрджрд┐ рдЖрдк рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╡рд┐рднрд┐рдиреНрди рдХреИрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЬрд┐рди рд╡рд╕реНрддреБрдУрдВ рдореЗрдВ рдЖрдкрдХреЗ рдкреВрд░реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рд▓рд┐рдВрдХ рдмрд┐рдЦрд░реЗ рд╣реБрдП рд╣реИрдВ, рддреЛ рдПрдХ рдХреИрд╡рд┐рдЯреА рдХреА рдЕрд╕реЗрдВрдмрд▓реА рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЕрдиреНрдп рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд╕реНрдХреИрди рдХреЗ рд╕рд╛рде рдЦреАрдВрдЪ рд╕рдХрддреА рд╣реИ, рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рдард╣рд░рд╛рд╡ рд╣реЛрдВрдЧреЗред

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

рд╡рд┐рд╖рдп рдХреЗ рд▓рд┐рдВрдХ:


  1. рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдЬрд╛рд╡рд╛ рдореЗрдореЛрд░реА рдкреНрд░рдмрдВрдзрди рдкреНрд░рд▓реЗрдЦрди
  2. рдХрдЪрд░рд╛ рд╕рдВрдЧреНрд░рд╣рдХрд░реНрддрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдкрд░ рд╢реНрд╡реЗрдд рдкрддреНрд░
  3. рдЬреАрд╕реА рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдПрдХ рд╕реВрд░реНрдп рдХрд░реНрдордЪрд╛рд░реА рдХрд╛ рдмреНрд▓реЙрдЧред рдпрд╣рд╛рдВ рдЙрдиреНрд╣реЛрдВрдиреЗ рдХрдЪрд░рд╛ рд╕рдВрдЧреНрд░рд╣рдг рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдкрд╣рд▓реБрдУрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рд╣реИред рдореИрдВ рдЗрд╕рдХреА рдЕрддреНрдпрдзрд┐рдХ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВред
  4. JVM рдореЗрдореЛрд░реА рдкреНрд░рдмрдВрдзрди рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдкрд╣рд▓реБрдУрдВ рдкрд░ рдЕрдХреНрд╕рд░ рдкреВрдЫреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рд╢реНрди
  5. рд╡реИрдХрд▓реНрдкрд┐рдХ рдЕрдЬрд╝реБрд▓ рдЬреАрд╕реА рдХрд╛ рд╡рд┐рд╡рд░рдгред рдпрд╣ рдореМрдЬреВрджрд╛ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреА рдХрдорд┐рдпреЛрдВ рдХреЛ рднреА рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдЙрдирдХреЗ рдХрд╛рд░рдг рдХреНрдпрд╛ рдерд╛ред

Source: https://habr.com/ru/post/In116578/


All Articles