![]() |
![]() |
|
|
| |
Java ퟔ��z}ViJVMj̃`[jO
Java z}ViJVMj́A}CNvZbT Java NX t@C̃oCg R[h suퟸ�� sGWvłBJVM ̃`[jÓAWebLogic Server ƃAvP[ṼptH[}Xɉe^𗂦܂B
ȉ̐߂ł́AJVM ̃`[jO̍lɂĐ־܂B
A ւ̃NɂẮA Java z}ViJVMj̏ Q ퟸ��B
\ 2-1 ́AJVM ̃`[jOɊւ ʓIȍlퟺ��Ă܂B
Ώێ |
־ |
---|---|
JVM ̃x_ o[W |
WebLogic Server ̓삪ۏ v郃_NV JVM gpퟹ��邱ƁBWebLogic Server 6.x ́AJava 1.3 JVM ̂̂݃T|[gB 遁uvbgtH[ T|[gvy[W͕pɂɍXV A聂܂܂ȃvbgtH[Ɋւ V̓m슔F Lڂ B |
遃q[v TCY Kx[W RNṼ`[jO |
`[jȌڍׂɂẮA JVM q[v TCYɂĂQ B Kx[W RNVퟸ��`[jO̊TvɂẮAuTuning Garbage Collection with the 1.3.1 Java Virtual MachinevQ B |
Kx[W RNV |
Kx[W RNV朕��ĂQ B |
NCAg/T[o JVM ퟸ�� |
WebLogic Server ݂ł́ANCAgƃT[opɈقȂ JVM o郁[Wgpퟹ��fvCgT|[g B遃NCAg/T[o JVM ݂̍̃T|[gɂẮAuNCAg/T[o JVM ݂̃T|[gvQ B |
UNIX XbfBO f |
UNIX ퟸ��́AO[ XbhƃlCeBu XbhƂ 2 ̃XbfBO fBWebLogic Server 遂ōō̃ptH[}XƃXP[reB ́AlCeBu Xbhgpퟹ�� JVM Iퟋ��B Solaris 遂gpퟹ�� ́AJavaSoft Web ̃TCgɂuThreading Models and Solaris Versions Supported遁vQ B |
Just-In-TimeiJITjJVM |
WebLogic Server s ퟸ��AJIT RpCgpퟹ��BSun Microsystems 遂 Symantec ǂ قƂ JVM ퟄ��ł́AJIT RpCgp B ڍׂɂẮAJVM TvC̃hLgQ B : Sun ퟸ�� JVM 1.3.x́AJIT IvV͗L ͂ȂȂBB Java z}ViJVMj̏ Q B |
ăKx[W RNV́AJava q[v gp Ȃ Java IuWFNg VM vZX��BJava q[v Java ̓vÕIuWFNg݂Ă łA聃Cu IuWFNgAfbh IuWFNgA t[ ̃|WgłB s̃vOłǂ̃|C^ ANZX Ȃ AIuWFNg̓Kx[Wipj Ȃ B
JVM q[v TCYɂ āAKx[W RNVsퟴ��pxƂ̎Ԃ肳 BKx[W RNV̓KȎ spx̓AvP[Vɂ ĈقȂ ŁAKx[W RNV̎ ۂ̎Ԃƕpx ퟀ��ĒK镗v B
傫q[v TCY 𐂵ꍇAKx[W RNVŜ͒ᑬ܂A spxႭȂ B̃j[Yɍ킹ăq[v TCY 𐂵ꍇAKx[W RNVŜ͍܂A spxȂ B
q[v TCỸ`[jO̖ڕẂA ԂɏłN郃CAg̐ ퟴ��₵AKx[W RNV̎ sԂ ퟀ��ɗ}邱ƂłB
x`}[Nɍō̃ptH[}X ퟁ�� ́A傫q[v TCYl 𐂵Ax`}[N̎ sɃKx[W RNV s 悤ɂ܂B
q[v̈悪sĂ A Java ̃G[\ B
java.lang.OutOfMemoryError <<no stack trace available>>
java.lang.OutOfMemoryError <<no stack trace available>>
Exception in thread "main"
q[v̈l撂 X A q[v TCYl̎w QƂĂB
Java HotSpot JVM 1.3 Ăł́A Kx[W RNVgp BlCeBu Kx[W RNVł̓q[v ׂẴCu IuWFNgׂ ܂A Kx[W RNVł͗]ȍ ퟀ��AIuWFNg̗L Ԃl B
q[v́ANewAOld Ƃ 2 ̐ BNew A Eden 2 Ƃ̃ToCö ו BEden ́AVIuWFNg蓖Ă BKx[W RNV s ƁAEden Cu IuWFNgׂ͗̃ToCö Rs[ BIuWFNg͍ő債l߂ ŁÂ悤ɃToCö ŃRs[Aꁂ̌ANew し̈悩 Old ړ BNew 您 Old TCYƔ䗦̎w ẮA q[v TCYl̎w QƂĂB
̃IuWFNǵA蓖Ă Kx[WɂȂ B̂悤ȃIuWFNǵAup vIuWFNgƌĂ BIuWFNg̗L ԂȂ ǁAKx[W RNV̎ sAKx[W RNV͒ᑬ܂BAvP[VIuWFNg pxɂ āAKx[W RNV̎ spx܂ B\ł AVIuWFNg AIuWFNgLퟌ��bVčėp ɂĂB
IuWFNg̑唼̗L ԂZƂ𗝉ퟋ�� AKx[W RNV ퟀ�� `[jOł܂BP㒈ʂŃǗsퟴ��ꍇà v[ ퟀ�� قȂI郃uWFNg ퟁ��BKx[W RNV͐ゲƂɃv[BςɂȂ s BIuWFNg̑唼̗L Ԃ 1 ퟀ��RNV Z AKx[W RNV ퟀ��܂B TCYƁAKx[W RNV̎ spxBAptH[}Xቺ܂B
Kx[W RNṼ`[jO̊TvɂẮAuTuning Garbage Collection with the 1.3.1 Java Virtual MachinevQ ퟸ��B
肱̐߂ł́Ał Iȃq[v TCYퟰ��肷 {菇ɂĐ־܂B
-verbosegc
IvVgpퟹ��āAKx[W RNVɓ 鎞Ԃƃ\[X𐳊mɑ肵܂B
verbose Kx[W RNV̗L o͂̃_CNgQ ퟸ��B
weblogic.log
t@CŁAKx[W RNVO ^C X^v rퟁ��B
y[WfBXNɁuXbvv ͈͂ŁAł邾傫q[v TCY 𐂵܂BVXe̋ RAM ̗eʂ́An[hEFÃRtBO[VƁÃ}V s v郃ZX̃vɂ ĈقȂ BVXe̋ RAM ̗eʂ̌ ẮAVXeǗ҂ɖ₢킹ĂB
ʏA큎gp\ RAMȁiIy[eBO VXe܂͂̑̃vZXɂ ĐL藂 RAMj 80% ̂ JVM ��Ă܂B
q[v TCYl̎w QƂĂB
̐߂ł́Aff̂߂ verbose ɃKx[W RNVL 𗌂Ao͂ퟌ��O t@CɃ_CNg @ɂĐ־܂B
_CNg邱Ƃɂ AXbh _v WebLogic Server ̏ bZ[WƃG[ bZ[WɊ֘AăOɋL^ ̂ŁAff ɃO t@C 𗧂܂B
ɗ ܂B
% java -ms64m -mx64m -verbosegc -classpath $CLASSPATH
-Dweblogic.domain=mydomain -Dweblogic.Name=clusterServer1
-Djava.security.policy==/bea/weblogic6x/lib/weblogic.policy
-Dweblogic.management.server=192.168.0.101:7001 -Dweblogic.management.username=system
-Dweblogic.management.password=systemPassword weblogic.Server >> logfile.txt
HPUX ł́ÃIvVgpퟹ�� stderr
stdout
Ă 1 ퟀ��t@CɃ_CNg܂B
-Xverbosegc:file=/tmp/gc$$.out
$$
ł́AJava vZX PID ̂Ƀ}bv Bo͂ɂ̓Kx[W RNV̎
sԂퟺ��^CX^v܂܂ ŁAKx[W RNV̎
spx𐄑ł܂B
Solaris ł́ÃR}h sퟀ��B
weblogic.Server > server.out 2>&1
Java q胁[v TCY̒ĺAJava R}hC WebLogic T[oNퟭ�� Ɏw ܂Bɗ ܂B
$ java ... -XX:NewSize=128m -XX:MaxNewSize=128m -XX:SurvivorRatio=8 -Xms512m -Xmx512m
̒l̃ftHg TCY̓oCgPʂŎw肳 BKBiLoCgjퟺ��ɂ́AlɁukv܂́uKvt BlɁAMBiKoCgjퟺ��ɂ́umv܂́uMvAGBiퟄ��MKoCgjퟺ��ɂ́ugv܂́uGvt B
̃p[^́AWebLogic Server ̋NXNvg XNvg̉e ퟸ��ƂɒӂK镗v BWebLogic zzLbgɂ́AftHg T[oNퟭ��T郃v XNvgA T[o\zퟵ�� s肷邽߂̊ 𐂷T郃v XNvgtĂ܂B
̃XNvǵA ۂ̊AvP[Vɍ킹ďCK镗v BuWebLogic Server ̋Nƒ~⎁vQ ퟸ��B
ō̃ptH[}X ́AAvP[V ퟀ��Ƀ`[jO܂B܂A \ 2-2 Ɏ JVM q郁[v TCỸIvVRퟌ��tBO[V AقƂ ퟄ��AvP[VŃptH[}X ܂B
\ 2-2 Ɏ I郃vV́AgpA郁[LeN` Iy[eBO VXeɂ ĈقȂ BvbgtH[ʂ JVM ̃`[jO IvVɂẮAx_̃}jAQ ퟸ��B
T[oŃKx[W RNVퟮ��O鑂ɁASȃKx[W RNVKvł邱ƂmFퟩ��ĂBKx[W RNVퟮ�� AJVM ł̓q[v ׂẴCu IuWFNgp ׂ܂B
Administration Console gpퟹ��āAw肵T[oŃKx[W RNVퟮ�� ́A̎菇ɏ]܂B
[gp] Otɂ́A s̃T[o̎gp݂̂\ B
RNV IƂퟺ��bZ[W\ B
Java HotSpot VM IvV̐ݒ
W蕏 Java
̃IvVgpퟹ��āAptH[}X ퟰ��邱Ƃł܂B ̃IvV̎g AgpA郃vP[ṼR[fBOɂ ĈقȂ BR}hC IvV̓vbgtH[Ԃň AvbgtH[ɂ Ă̓ftHgقȂ B
NCAg JVM ƃT[o JVM ̗ eXgāAR AvP[VɑāA ptH[}X̗Dꂽ JVM ׂK镗v B
ptH[}X ퟰ��A遂 O VM ̃IvVɂẮA W Java R}h C IvV̐ݒ QƂĂB
NT ̏ꍇAWebLogic Server ł Java
̓R}hgpퟹ�� JVM ĂNퟭ��ł܂B
\ 2-3 Ɏ I郃vVgpퟹ��܂B
IvV |
־ |
---|---|
|
HotSpot NCAg VM I B |
|
HotSpot ��T[o VM I B |
|
��NVbN VM I B |
UNIX ̏ꍇAWebLogic Server ł Java
̓R}hgpퟹ�� JVM ĂNퟭ��ł܂B
\ 2-4 Ɏ I郃vVgpퟹ��܂B
IvV |
־ |
---|---|
|
HotSpot ̓NCAg VM I B |
|
HotSpot ��T[o VM I B |
W Java
̃IvVgpퟹ��āAptH[}X ퟰ��邱Ƃł܂B ̃IvV̎g AgpA郃vP[ṼR[fBOɂ ĈقȂ BR}hC IvV̓vbgtH[Ԃň AvbgtH[ɂ Ă̓ftHgقȂ B
\ 2-5 ɁANT HotSpot VM ŃptH[}X ퟰ�� WIvV̗ ܂B
uSolaris VM p̔WIvVvQ ퟸ��B
![]() |
![]() |
![]() |