�@JVM��GC��K�ɍs�킹��ɂ̓q�[�v�T�C�Y��K�ɐݒ�iNew�̈�T�C�Y�AOld�̈�T�C�Y�A�̈�T�C�Y�̃o�����X�Ȃǁj����K�v������܂��B���R�A�K�ȃq�[�v�T�C�Y�̓A�v���P�[�V�����Ɉˑ����܂��B��ʂɃq�[�v�T�C�Y����������GC���p�����ăA�v���P�[�V�����̃p�t�H�[�}���X���ቺ���܂��B����ɁA�q�[�v�T�C�Y���K�v�ʂ������ꍇ��OutOfMemoryError���������ăA�v���P�[�V��������~���Ă��܂��܂��B����A�q�[�v�T�C�Y���傫���ƁAGC�̋N���͌���܂����AGC1����̏������ԁA���Ȃ킿�A�v���P�[�V������~��Ԃ������Ȃ�A�A�v���P�[�V�����̉������Ԃɖ�肪�o��ꍇ������܂��B�V�X�e���̕����������̃t���[�̈悪�s������܂Ńq�[�v�T�C�Y��傫������ƁA��������������X���b�v�̈�ւ̃y�[�W���O���N�����Ă��܂��A���Ȃ�̃p�t�H�[�}���X������\��������܂��B�ʏ�A�q�[�v�T�C�Y�͎����������傫����邱�Ƃ͂���܂���B
�@New����̈�iEden�̈�AFrom�̈�m=To�̈�n�j�AOld����̈�̊e�T�C�Y��JVM�̃I�v�V�����Ŏw��ł��܂��B
�q�[�v�T�C�Y�I�v�V���� | �T�C�Y |
---|---|
-Xms | �����q�[�v�T�C�Y�i�S�́j |
-Xmx | �ő�q�[�v�T�C�Y�i�S�́j |
-Xmn(-XX:NewSize) | New����̈�T�C�Y |
-XX:MaxNewSize | New����̈�T�C�Y |
-XX:NewRatio | New����̈��Old����̈�̔䗦�iOld����̈�^New����̈�j |
-XX:SurvivorRatio | New����̈��Survivor�̈�̔䗦�iEden�̈�^From�̈�j |
-XX:TargetSurvivorRatio | New����̈�GC���From�̈���I�u�W�F�N�g�̊����ڕW |
�@-Xms�A-Xmx�i-Xms��-Xmx�j�ɈقȂ�l��ݒ肷��ƁA�q�[�v�T�C�Y�͋N�����ɂ�-Xms�Ŏw�肳�ꂽ�傫���ł����A�ɂ����JVM���q�[�v������Ȃ��Ɣ��f�����ꍇ�͍ő�-Xmx�Ŏw�肵���傫���܂Ŋg�債�܂��B�����̒l���ɂ���ƃq�[�v�T�C�Y�����̃I�[�o�[�w�b�h���Ȃ��Ȃ�p�t�H�[�}���X���オ��ꍇ������܂��B
�@GC�A���S���Y�����番����悤�ɁA�Z���I�u�W�F�N�g�ɑ��Ă�New����̈�őΏ����A�����I�u�W�F�N�g�݂̂�Old����̈�Ɋ��蓖�Ă邱�Ƃɂ��GC�̉�GC�ɂ����鎞�Ԃ��ł������I�ɂȂ�܂��B���̂悤�Ƀq�[�v�T�C�Y�߂��邱�Ƃ��p�t�H�[�}���X�̌���ɂȂ���܂��B��{�I�ɂ̓A�v���P�[�V�����̒Z���I�u�W�F�N�g�A�����I�u�W�F�N�g�̃T�C�Y�����ς���A����ɉ������q�[�v�T�C�Y��ݒ肷��悢�̂ł����A���ς��肪�e�ՂłȂ��ꍇ������܂��B���̏ꍇ�͎��ۂɃA�v���P�[�V���������s���āA�p�t�H�[�}���X���v������Ɠ�����GC�AGC���Ԃ�q�[�v���I�u�W�F�N�g�ʂȂǂ̏����Ȃ���T�C�Y�����߂Ă������Ƃ��ł��܂��B
�@���s���̃q�[�v���̃I�u�W�F�N�g����ɂ͂�������i������܂��B�q�[�v�S�̃T�C�Y��t���[�ȗ̈�̃T�C�Y��m�邽�߂ɂ̓A�v���P�[�V��������java.lang.Runtime�N���X��totalMemory()���\�b�h�i�q�[�v�S�̂̃T�C�Y�j��AfreeMemory()�i�q�[�v���̃t���[�ȗ̈�̃T�C�Y�j�𗘗p�ł��܂��B�܂��A�A�v���P�[�V�������s���Ƀ��A���^�C���ɃI�u�W�F�N�g�̗l�q���O���t������c�[���Ȃǂ�����܂��i�A�v���P�[�V�����T�[�oBEA Weblogic Server�Ȃǂł̓A�v���P�[�V�����T�[�o�Ǘ��R���\�[����ʂŃq�[�v���̃I�u�W�F�N�g�̕ω����O���t�Ō��邱�Ƃ��ł��܂��j�B
�@�܂��A�A�v���P�[�V�����N������-Xrunhprof�iJVMPI�FJava Virtual Machine Profile Interface���g����hprof�G�[�W�F���g�j�I�v�V�������g����JVM�����s����ƁAJVM�ɃV�O�i���𑗂邱�Ƃɂ���Ă��̎��_�̃q�[�v���I�u�W�F�N�g�̃X�i�b�v�V���b�g�邱�Ƃ��ł��܂��iJVMPI��JVM�Ɏ����I�Ɏ�������Ă��܂��B�������W���[�����[�X��JVM 1.5�ł�JVM���Ď����邽�߂̐V�����W��API�̎������v�悳��Ă��܂��j�B
�@�ڍׂȕ��͂������ă`���[�j���O���s�����߂ɂ́A�ȉ��ɏq�ׂ�悤��JVM��GC�������O�t�@�C���ɂ�������o�͂����āA�A�v���P�[�V�������s�I����Ƀ��O�t�@�C������ɕ��͂��s���̂��悢�ł��傤�B
�@GC�ɓ�����������ɂ�JVM�ɂ�GC�������O�Ƃ��ďo�͂�����I�v�V�������e�킠��܂��B�m�肽��GC���̓��e�ɏ]���ăI�v�V������ݒ肵�܂��B�ȉ��̗�͌��ʂ����O�t�@�C���ɏo�͂��Ă��܂��B
%java -Xloggc:output_file <Java�A�v���P�[�V�����t�@�C��>
..... 12.871: [GC 17728K->12682K(18112K), 0.0035231 secs] 12.875: [Full GC 12682K->10762K(18112K), 0.1355816 secs] ....
�@�o�͂�1�s��GC1��Ɋւ����Ή����܂��B��̗�ł́AGC2�̏���\�����Ă��܂��B���̏o�͂���AJava�A�v���P�[�V�����̋N������12.871�b���New�̈�݂̂�GC���s���i�P��GC�ŕ\���j�A�q�[�v���̑S�̂̃I�u�W�F�N�g��17728K����12682K �Ɍ����Ă��邱�Ƃ�������܂��B�i �j����18112K�͂��̂Ƃ��̑S�̂̃q�[�v�T�C�Y��\���Ă��܂��B�Ō㍀�ڂ�0.0035231secs�͂���GC�ɂ����������ԁi���̊ԃA�v���P�[�V��-���͒�~�j��\���Ă��܂��B2 ��ڂ�New�̈�AOld�̈�ǂ���ɑ��Ă�GC���N�����Ă���iFull GC�ŕ\���j���Ƃ�������܂��B- XX:+PrintGCDetails �I�v�V�����ł́ANew����̈�AOld ����̈悻�ꂼ��ɂ��ẴI�u�W�F�N�g�ʂ̕ω����������܂��BHP-UX��JVM�ł�-Xverbosegc���w�肷�邱�Ƃɂ��A����ɏڍׂ�GC�̎�ށAGC���N�������R�Ȃǂ��o�͂���܂��B
�@�ȉ���GC�̊Ď��ɖ𗧂�ȃI�v�V�����������Ă����܂��i�I�v�V�����̃T�|�[�g�Ɋւ��Ă͏o�̓t�H�[�}�b�g���܂߂ĕύX�ɂȂ�\��������̂Œ��ӂ��Ă��������j�B
���GC�Ď��I�v�V���� | �o�͏�� |
---|---|
-verbose:gc(-verbosegc) | GC���i�ȈՁj |
-Xloggc:filename | GC���i�t�@�C���֏o�́j |
-XX:+PrintGCDetails | GC���i�ڍׁj |
-Xverbosegc | GC���i�ڍׁj���o�́iHP-UX JVM�̂݁j |
-XX:+PrintTenuringDistribution | �I�u�W�F�N�g�̔N���� |
-XX:+TraceGen0Time | New����̈�̗ݐ�GC���ԁAGC�A����GC���� |
-XX:+TraceGen1Time | Old����̈�̗ݐ�GC���ԁAGC�A����GC���� |
-XX:+PrintGCTimeStamps | GC�̃^�C���X�^���v |
-XX:+PrintHeapAtGC | GC�O��̏ڍׂȃq�[�v��� |
�@�o�͂͂��ׂăe�L�X�g�t�@�C���Ȃ̂Œ��ړǂ߂�̂ł����A�o�͂��ꂽ�����̗���ڌ��Ă�GC�̗l�q��c������͓̂�����Ƃł��B�c�[���𗘗p���邱�Ƃɂ��A�o�̓f�[�^�̃T�}����g���N�X�̃O���t�����s�����Ƃ��ł��AGC���͂��������悭�s���܂��B�t���[�̃c�[���Ƃ���HPjtune��GCViewer�Ȃǂ�����̂ŁA�����𗘗p����̂��悢�ł��傤�B
�@�A�v���P�[�V�����̃p�t�H�[�}���X�i�X���[�v�b�g��X�|���X�^�C���j���v������Ɠ����ɁA�����̃I�v�V������c�[�����g��GC�̉AGC�ɂ����������ԁAGC�̎�ނȂǕ��͂��āA�q�[�v�̃T�C�Y���K�ł��邩�ǂ����f�����߂��邱�Ƃ��ł��܂��B
�@�ȏオ�W���i�f�t�H���g�j��GC�̘b�ł������AJVM 1.4.1����͑�K�͂ȃV�X�e���i�僁�����A��CPU�j�ɑ��ăX���[�v�b�g�����GC�ɂ���~���Ԍ�����ړI�Ƃ����V����GC���������Ă��܂��B�������A�����_�ł͂܂����s���ɂ���Ă͈��肵����������Ȃ��ꍇ������悤�Ȃ̂Œ��ӂ��K�v�ł��B
�@�W����GC�ł�New����̈�ɑ��ăV���O���X���b�h��GC���s���Ă��܂������A�p������GC�ł͕����X���b�h���g���ē����ɍs���܂��B���̌��ʂƂ��āA�}���`CPU���ł́AGC���Ԃ̌����A�X���[�v�b�g�̌���̌��ʂ����҂ł��܂��B�p������GC���s���X���b�h����-XX:ParallelGCThreads=<�X���b�h��>�i�f�t�H���g��CPU���j�Ŏw��ł��܂��B-XX:+UseParallelGC��-XX:+UseParNewGC �ł͓��l�̏����Ȃ̂ł����A�ꏏ�ɗ��p�ł���I�v�V�����������قȂ�܂��B
�@�Ⴆ�A���̃R���J�����gGC�ƈꏏ�ɗ��p�ł���̂́A-XX:+UseParNewGC�̕������ł��B2�̃I�v�V�����̂ǂ�����g�����́A�A�v���P�[�V�����̎��s���Ɏ��ۂɎ����Ĕ�r����̂��悢�ł��傤�B
�@�܂��AJVM�ɂ�-XX:AggressiveHeap�Ƃ����I�v�V����������A�V�X�e���ɉ����Ď����I�ɑ�K�͂ȃA�v���P�[�V�����ɓK�����ݒ���s���Ă���܂��B�q�[�v�T�C�Y�����������ɉ����đ傫���ݒ肵����A�ق��ɂ��������̃I�v�V�����������I�ɐݒ肳���̂ł����ASDK 1.4.2�ł�GC�̎�ނɂ��Ă�- XX:UseParallelGC���ݒ肳��܂��B-XX:AggressiveHeap�͎�肠�����A��K�͗p�̃T�[�o�ȂǂŎ����̂ɂ悢��������܂��AJVM�̃o�[�W�����ɂ���ċ����͈قȂ�\��������܂��B
�@�W����GC�ł�Old����̈��GC���Ԓ������ƃA�v���P�[�V�����X���b�h�͒�~���Ă��܂������A����GC�ł�GC�����̑������A�v���P�[�V�����ƕ��s�ɏ�������܂��B�]���Ĉꕔ�̏����̂Ƃ������A�v���P�[�V�����X���b�h���~���邽�߁A�A�v���P�[�V�����̒�~���Ԃ�Z���ł��܂��iOld�̈���̃I�u�W�F�N�g�ɑ��Ă͕K�v�ɂȂ�܂ŃR���p�N�g���͍s���܂���j�B
�@�{��GC�͐l���������Ǘ����ӎ����Ȃ��ԂɓK�ɓ��삷�邱�Ƃ����z�I�ł��BGC�͏�ɐi�����Ă���Z�p�ł���A�����I�ɂ̓A�v���P�[�V�����ɉ����ăq�[�v�T�C�Y�̒��߂�A�K��GC�̑I����JVM�������I�ɍs���悤�ɂȂ邩������܂���B�������A�����_�ł�GC�̃A���S���Y���𗝉����A�A�v���P�[�V�����̓��쒆GC�̗l�q���ώ@���Ȃ���A�K��GC�I���A�q�[�v�T�C�Y�̒������s�����Ƃ��A���肵���p�t�H�[�}���X�̗ǂ��A�v���P�[�V�����쐬�̎菕���ƂȂ�ł��傤�B
���{HP�@�R���T���e�B���O�E�C���e�O���[�V���������{��
IT�R���T���e�B���O�{���@�e�N�m���W�[�R���T���e�B���O��
�������i�i���̂��� �������j
���́E�q���[���b�g�E�p�b�J�[�h�i���j�i�����{�q���[���b�g�E�p�b�J�[�h�i���j)�ɓ��Ќ�AHP-UX��̓��{����\�t�g�E�F�A�̊J���ɏ]���B(��)���ۓd�C�ʐM��b�Z�p������(ATR)�֏o�����A�l�ƃV�X�e���̃C���^���N�V�����Ɋւ��錤�����s���B���̌�A2000�N���Ή��̂��ߕi���Ǘ����o�����A����HP-UX�Z�p�R���T���e�B���O�ɏ]���B�f�o�C�X�h���C�o�J���T�|�[�g��AJava�v���b�g�t�H�[���p�t�H�[�}���X�`���[�j���O�𒆐S�Ɋ������B���ɁuJMF(Java Media Framework)�v(�s�A�\���E�G�f���P�[�V����)������B �܂��A���{�q���[���b�g�E�p�b�J�[�h�����Ă���Z�p���T�C�g�uHP-UX Developer Edge�v�̎��M��S�����Ă���B
Copyright © ITmedia, Inc. All Rights Reserved.