���IT�œK���̃S�[����ڎw��

JavaVM�̃������Ǘ����}�X�^�[�����FJava Review�i1/2 �y�[�W�j

Web�V�X�e���̈��蓮��ɂ́A�������g�p�ʂ̓K�؂Ȍ��ς��肪�s�Œ��B����JavaVM�Ń��������ǂ̂悤�ɊǗ�����邩�𗝉����Ă��邾�낤���H�@�������Ɋւ����肪��������ƁA�m����Z�p�����̕s���ɂ���Ė�肪�������������BJavaVM�łǂ̂悤�Ƀ��������Ǘ�����Ă��邩�𗝉����A���m�ȃ������T�C�W���O�⃁�����֌W�̃g���u���̑��������ւƂ‚Ȃ��悤�B

» 2009�N05��27�� 08��00�� ���J

���̋L������������ł��B����o�^����ƑS�Ă������������܂��B

JavaVM�̃������\���𗝉����悤

�@�܂��AJavaVM���ǂ̂悤�Ƀ��������g���Ă��邩�𗝉����Ă������BJavaVM���v���O���������s����ƁAJava�̃v���Z�X�ɂ���ă��������g�p�����BJava�̃v���Z�X�ł́AJava�q�[�v�APerm�q�[�v�AC�q�[�v�A����уX���b�h�X�^�b�N�Ƃ���4�‚̃������̈���g�p����B

�@Java�q�[�v�̓A�v���P�[�V�����v���O�����̊e��I�u�W�F�N�g���i�[����̈�ł���AClass��new�Ŋm�ۂ����BJava�q�[�v��New�̈��Old�̈�ɕ������ANew�̈�͂����Eden�ASurvivor(from�Ato)����\�������B�����͌�قǐ�������K�x�[�W�R���N�V����(GC)�Ő��ゲ�Ƃ̗̈�Ƃ��ė��p�����BEden���������ꂽ�΂���̃I�u�W�F�N�g�ASurvivor��������x�̊Ԏg�p����Ă���I�u�W�F�N�g�AOld�������Ԏg�p���ꂽ�I�u�W�F�N�g���i�[����̈�ł���B

�@Java�q�[�v�ȊO�̗̈�ł́APerm�q�[�v�̓N���X�⃁�\�b�h�Ȃǂ̃��^�f�[�^���i�[����̈�AC�q�[�v��OS�l�C�e�B�u�ȃ������̈�A�X���b�h�X�^�b�N��Java�̃A�v���P�[�V���������p����Java�X���b�h�̃X�^�b�N�̈�ł���(�}1)�B

�}1 �}1

�@�����̊e�탁�����̈�̃T�C�Y�́AJavaVM�N�����̃I�v�V�����Ŏw�肷�邱�Ƃ��ł���BJavaVM�̃�������Ԃ̃T�C�Y�⊄���Ȃǂ��w�肷��A��ȋN�����I�v�V������\�Ɏ����B

�I�v�V������ �I�v�V�����̈Ӗ�
-Xmx Java�q�[�v�̍ő�T�C�Y��ݒ�B�P�ʂ̓o�C�g
-Xms Java�q�[�v�̏����T�C�Y��ݒ�B�P�ʂ̓o�C�g
-XX:MaxPermSize Perm�q�[�v�̍ő�T�C�Y��ݒ�B�P�ʂ̓o�C�g
-XX:PermSize Perm�q�[�v�̏����T�C�Y��ݒ�B�P�ʂ̓o�C�g
-Xmn New�̈�̏����l����эő�l��ݒ�B�P�ʂ̓o�C�g
-Xss �P�X�^�b�N�̈�̍ő�T�C�Y��ݒ�B�P�ʂ̓o�C�g
-XX:NewRatio New�̈�ɑ΂��� Old�̈�̊�����ݒ�B2��ݒ肵���ꍇ�́ANew�̈��Old�̈�̊������A1:2�ɂȂ�

�@�����̃I�v�V������p���āA�������T�C�Y��K�؂ɐݒ肷��K�v������B�������̕s����java.lang.OutOfMemoryError���������ăV�X�e�����s����ɂȂ�����AGC�̑����ɂ�鐫�\��̖��ɂ‚Ȃ������肷�邽�ߒ��ӂ��K�v���B

GC�̎d�g��

�@JavaVM�̃������Ǘ��̗����ɕK�{�ƂȂ�GC�ɂ‚��Ă����K���Ă������BJava�ł́A�A�v���P�[�V�����v���O�����Ŏg�p�ς݃������𖾎��I�ɍ폜����K�v�͂Ȃ��B�s�v�ɂȂ����������́AJavaVM�ɂ���Ď����I�ɉ������邩�炾�B�v���O�����̏������i�ނƁAJavaVM�̃��������(���Java�q�[�v)�͎g�p�ς݂Ǝg�p���̗̈悪���݂��A�g�p�ł��郁�����̈悪�����Ă����B�����ŁA�������̈悪�s������ƁAJavaVM�͎g�p�ς݂̕s�v�ȃ������̈���������B���ꂪGC�ł���B(�}2)

�}2 �}2

�@�����ŁAGC�̎d�g�݂ɂ‚��Đ�������BJava VM�ł́AJava�q�[�v�̈��New�̈��Old�̈�ɕ����ĊǗ����邱�Ƃ������B����́A���������I�u�W�F�N�g�̑唼�͒Z���ԂŎg�p�ς݃I�u�W�F�N�g�ɂȂ邩�炾�BGC�����̃I�u�W�F�N�g�̐�����ӎ����čs����B


  • �V�����������ꂽ�I�u�W�F�N�g�́ANew�̈��Eden�̈�ɔz�u�����BNew�̈��Eden�̈悪�����ς��ɂȂ�A������������Ȃ��Ȃ��Copy GC����������B
  • Copy GC��New�̈��ΏۂƂ��čs���BEden�̈��Survivor�̈�̎g�p�ς݃I�u�W�F�N�g�͔j���̑ΏۂƂȂ�B�����c�����I�u�W�F�N�g�͋󂢂Ă��鑤��Survivor�̈�Ɉړ�����i�}3�j�B
  • ���񐔈ȏ��Copy �fC�𒴂��Ďg�p���ꑱ���Ă���New�̈�̃I�u�W�F�N�g��Old�̈�Ɉړ�����B�‚܂�A�g�p���Ԃ������I�u�W�F�N�g��Old�̈�Ɉڂ邱�ƂɂȂ�i�}4�j�B
  • Old�̈悪�����ς��ɂȂ��Full GC����������BFull GC�ł�Java�q�[�v�APerm�q�[�v�̑S�̂�ΏۂƂ��Ďg�p�ς݂̃��������������B
�}3�����A�}4���E
�@�@�@�@�@�@ 1|2 ���̃y�[�W��

Copyright © ITmedia, Inc. All Rights Reserved.

���Ȃ��ɂ������߂̋L��PR