�삦������Tomcat�ƈ݂�ɂ߂�g���u���n�b�J�[�F���ꂩ��w��Web�A�v���J���̃g���u���n�b�N�i8�j�i2/3 �y�[�W�j

» 2007�N11��27�� 00��00�� ���J
[�ΘC��, �R���^���C�������NTT�f�[�^]

PrintClassHistogram�I�v�V�����ŁA���{�����h��!!

�@�c���ꂽ���͂���1�B���܂����������[�N���������Ă���{�Ԋ‹��ŁA���Ƃ��Ă������󋵂̏����擾���邱�Ƃ��B�v���t�@�C����p���邱�Ƃ��m�������A���\�򉻂��m���ɗ\�z����邽�߁A�{�Ԋ‹��ɓ������邱�Ƃ͍l�����Ȃ��B

�ҏW�����F�v���t�@�C���ɂ‚��ďڂ����m�肽���ǎ҂́A�A�ڑ�1���́u����6�F�v���t�@�C���v�����Q�Ƃ��������B

�@�ǂ�����΁A�ƍl�������˂Ă����Ƃ���A�ꏏ�ɉ�͂ɓ������Ă����������uPrintClassHistogram�I�v�V�������g����̂ł͂Ȃ����v�Ƃ̏��𓾂��B�����‹��ŃT�[�r�X�ւ̉e�����Ȃ����Ƃ��m�F������A�v���W�F�N�g�����o������钆�A�Ō�̖]�݂�q����PrintClassHistogram��{�Ԋ‹��֓K�p�����B

��PrintClassHistogram�I�v�V�����Ƃ́H

�@���̃I�v�V������m��Ȃ����̂��߂ɁAPrintClassHistogram�I�v�V�����ɂ‚��Đ������悤�BPrintClassHistogram�I�v�V�����́A�q�[�v���̃N���X���v�����o�͂��邽�߂̃I�v�V�������B�o�͎��_�ł̊e�N���X�̃C���X�^���X�̌�����ёS�C���X�^���X�̍��v�T�C�Y���AGC���O�ƂƂ��ɏo�͂����B

�@PrintClassHitogram�̓����́A�v���t�@�C���Ɣ�r���Đ��\�ւ̉e�������ɏ������AJava�N���I�v�V�����̏C�������ŗ��p�ł��A�K�p�”\�ȃo�[�W������Java 1.4.2�ȏ�ƕ��L���Ƃ����_���i�ڍׂ���q�j�B���p���@�͎����ĊȒP�ŁAJava�N�����Ɉȉ��̃I�v�V������lj����邾�����B

���X�g1�@�I�v�V������t�����s����R�}���h
java -verbose:gc -XX:+PrintClassHistogram TestMain

�@GC���O���o�͂��Ă��Ȃ��ƁA�{�I�v�V�����͋@�\���Ȃ����Ƃɒ��ӂ��Ăق����B���̃I�v�V������t������Java���N����A���̃v���Z�X�ɑ΂��Ĉ��Ԋu���Ƃ�SIGQUIT�V�O�i���𑗐M����B

���X�g2�@crontab�Ŏ��s����R�}���h
kill -3 <java pid>

�@UNIX�n�Ȃ�΁Acrontab�ŏ�L�R�}���h�����s����悤�ݒ肷��΁A����I�ɃN���X���v����GC���O�ɏo�͂���悤�ɂȂ�B

���Ō�̖]�݂����s�I

�@��Ljava�R�}���h�����s����ƁA�ȉ��̃t�H�[�}�b�g�ŁA�N���X���v���GC���O�ɏo�͂����B

���X�g3�@PrintClassHitogram�̏o�͗�
num #instances #bytes class name
--------------------------------------
1: 244594 35380344 [C
2: 982063 23569512 java.lang.String
3: 15788 17285632 [B
4: 59009 9135936 <methodKlass>
5: 292468 7019232 java.util.Hashtable$Entry
6: 96069 5493752 [Ljava.util.Hashtable$Entry;
 
 
�c�c�i���j�c�c
 
 
3509: 1 8 sun.reflect.GeneratedMethodAccessor1681
3510: 1 8 sun.reflect.GeneratedMethodAccessor1256
Total 2483297 137466336

�@�u#instances�v�̓C���X�^���X���A�u#bytes�v�͑S�C���X�^���X�̍��v�T�C�Y�A�uclass name�v�̓N���X����\���Ă���B��L��ł́A�v24��4594�A3538��0344bytes��char�^���z�������݂��Ă��邱�Ƃ�������B�Ȃ��A�C���X�^���X����0�ł���N���X�́A���̃��X�g���ɂ͕\��Ȃ��Ƃ����_�ɒ��ӂ��Ăق����B

�@1�‚̃N���X���v��񂾂��ł́A���������[�N��͂ɂ͕s�\�����B�����̃N���X���v�����擾���A�N���X���ƂɏW�v���邱�ƂŁA�ǂ̃N���X�̃C���X�^���X�����[�N���Ă��邩�𒲂ׂ邱�ƂŁA���m���Ƀ��������[�N����͂ł���悤�ɂȂ�B

�����f�̂��߂̃T���v��

�@�ł́A�ȒP�ȃT���v�����������B

}5@[NĂȂNX̃q[vgp �}5�@���[�N���Ă��Ȃ��N���X�̃q�[�v�g�p��

�@�I�u�W�F�N�g����T�C�Y�����l��ۂ������Ă���B���̂悤�ȏꍇ�A���������[�N�͔������Ă��Ȃ��Ɣ��f�ł���B

}6@炩Ƀ[NĂNX̃q[vgp �}6�@���炩�Ƀ��[�N���Ă���N���X�̃q�[�v�g�p��

�@�I�u�W�F�N�g���������̓T�C�Y���E���オ��ŏ㏸�𑱂��Ă���B���̂悤�ȏꍇ�A���������[�N���������Ă���Ɣ��f������𓾂Ȃ��B

}7@[NĂ邩ǂfȃNX̃q[vgp �}7�@���[�N���Ă��邩�ǂ������f�������ȃN���X�̃q�[�v�g�p��

�@�I�u�W�F�N�g������уT�C�Y��������l�܂ŏ㏸�𑱂�����A���̌�͂��̒l�ŖO�a���Ă���B���̂悤�ȏꍇ�A���������[�N���ۂ��𔻒f���邱�Ƃ͓�����A����������������悤�ȃv���O�����i�Ⴆ�΁ALRU�iLeast Recently Used�j�L���b�V����WeakReference�̗��p�Ȃǁj�����삵�Ă���”\��������B�S�q�[�v�T�C�Y�ɑ΂��āA�Y���N���X�̑��T�C�Y���ڗ����đ傫���ꍇ�A�v���O�����̏C���ΏۂƂȂ�ł��낤�B

}8@߂ĔfłȂNX̃q[vgp �}8�@���������߂��Ĕ��f�ł��Ȃ��N���X�̃q�[�v�g�p��

�@String�N���X�Ȃǂ̂悭���p�����N���X�ł���ꍇ�A�}8�̂悤�ȃO���t�ɂȂ�₷���B���̂悤�ȏꍇ�A������؂��Ă��邢���‚��̌��𒼐��Ō��сi�t�b�g�v�����g�j�A���̃t�b�g�v�����g���E���オ�肩�ۂ��ŁA���[�N���ۂ��̔��f������Ƃ悢�B

ObjectName�̏㏸�I �܂����̃��������[�N

�@�d���݊���������A�N���X���v���t����GC���O���󂯎���͂�i�߂Ă����ƁA�������̃N���X�Ŗ��m�ȃ��������[�N���������Ă��邱�Ƃ��m�F�ł����B

}9@javax.management.ObjectNameNX̃q[vgpʂ̎nOt �}9�@javax.management.ObjectName�N���X�̃q�[�v�g�p�ʂ̎��n��O���t
}10@java.util.HashMapNX̃q[vgpʂ̎nOt �}10�@java.util.HashMap�N���X�̃q�[�v�g�p�ʂ̎��n��O���t
}11@java.util.HashMap.EntryNX̃q[vgpʂ̎nOt �}11�@java.util.HashMap.Entry�N���X�̃q�[�v�g�p�ʂ̎��n��O���t
}12@java.util.HashMap.Entry[]NX̃q[vgpʂ̎nOt �}12�@java.util.HashMap.Entry[]�N���X�̃q�[�v�g�p�ʂ̎��n��O���t

�@ObjectName�̐������̂́Ajavax.management.ObjectName�ł���BObjectName��MBean�̃I�u�W�F�N�g����\���A�I�u�W�F�N�g��JMX�iJava Management Extensions�j�Ǘ����ɒu���ۂɍ쐬�����B�Ɩ��S���҂Ɋm�F����ƁA�J�������v���O�������ŁAObjectName�ǂ��납JMX�𗘗p���Ă�����͂ǂ��ɂ��Ȃ��Ƃ����B

�ҏW�����FJMX�ɂ‚��ďڂ����m�肽���ǎ҂́A�A�ڑ�1���� �u����7�FJMX�N���C�A���g�v�����Q�Ƃ��������B

���g���u���n�b�J�[�Ƃ��Ă̊��������₭

�@�܂��Ajava.util.HashMap�֘A�̃N���X�̋����������[���BHashMap�̌���ObjectName�̌��Ƃł͑��ւ�����悤�ɂ͌����Ȃ��B�������AHashMap.Entry�̌���ObjectName�̌��Ƃł́A���ɋ������ւ�������B����ɁAHashMap.Entry[]�̃T�C�Y���A�K�i���삯���悤�ɓˑR�㏸���Ă���B���̂����A�����͂���܂ł̃T�C�Y�Ɠ������x���B

�@���̓������炢���邱�Ƃ́Aput�͂������̂�remove����Ȃ��悤�ȁAObjectName���L�[�������͒l�ƂȂ�HashMap��1�‘��݂��邱�Ƃ��BObjectName�ɂ̓L���b�V��������ɈႢ�Ȃ��B�g���u���n�b�J�[�Ƃ��Ă̊��������₢���B

�������ɑ�������”\��

�@�����AJMX�̃\�[�X�R�[�h��ǂ������Ă����ƁA���������[�N���Ă���Ƃ��ڂ����Y�������m�F�ł����B��قǂ̑z��ǂ���Astatic��HashMap���L���b�V���Ƃ��ė��p���Ă����̂��B�����āA�c�O�Ȃ��炱�̃L���b�V���́A�����ɑ�������”\�����߂Ă����B

���X�g4�@javax.management.ObjectName�̃\�[�X�R�[�h
public class ObjectName implements Serializable{
 
�c�c�i���j�c�c
 
    private static HashMap m_cache = new HashMap();
 
�c�c�i���j�c�c
 
    private void parse(String objectName) 
    throws MalformedObjectNameException{
 
�c�c�i���j�c�c
 
        m_cache.put(objectName, this);
 
�c�c�i���j�c�c
 
    }
 
�c�c�i���j�c�c
 
}

�������_�@��T���o���I HPROF�ł̉��

�@���[�N���Ă���C���X�^���X�͕��������B�����A�����_�@�Ƀ��[�N���Ă��邩�A���Ȃ킿�ǂ�����΍Č����邩�A�Ƃ������Ƃ͕������Ă��Ȃ��B�����ŁA���[�N���Ă���ObjectName�N���X�ɓI���i���āA�����‹��ɂĂ���Ȃ钲�����s�����Ƃɂ����B

�@���p����c�[���́AHPROF���BHPROF�́A���̃I�[�o�w�b�h�̑傫������{�Ԋ‹��ł͗��p�ł��Ȃ��iHPROF�ɂ‚��ďڂ����m�肽���ǎ҂́A�uHPROF �v���t�@�C���G�[�W�F���g�v�����Q�Ƃ��������j�B�������A���łɂ��܂܂ł̒�����ObjectName�����[�N���Ă���Ɠ˂��~�߂Ă��邽�߁A�����Ƀ����������[�N����܂ōČ��������s���K�v�͂Ȃ��B�Č������ɂāAObjectName�𐶐����Ă����X�^�b�N�g���[�X�̂����A�����ł��㏸��������X�^�b�N�g���[�X�������t���o����΁A�C���͊����ƂȂ�B

���‚��ɊY�����𔭌��I

�@�ł́AHPROF��p�����������ʂ����Ă݂悤�B���L�̃X�^�b�N�g���[�X�ɂāAObjectName����������Ă��邱�Ƃ����������B

���X�g5�@�擾�����X�^�b�N�g���[�X�i1�j �i�g�債�����̂��������j
TRACE 54218:
org.apache.jk.common.ChannelSocket.registerRequest(ChannelSocket.java:431)
org.apache.jk.common.HandlerRequest.decodeRequest(HandlerRequest.java:443)
org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:352)
org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:743)
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:675)
org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:866)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
java.lang.Thread.run(Thread.java:534)
���X�g6�@�擾�����X�^�b�N�g���[�X�i2�j
4509  0.00% 97.06%      512   16     512   16 54218 javax.management.ObjectName
22676  0.00% 99.33%       48    1      48    1 54218 [C
43364  0.00% 99.88%       24    1      24    1 54218 java.lang.String
132178  0.00% 100.00%        0    0     384   16 54218 java.lang.StringBuffer

�@�����͂Ȃ�ƁAApache�imod_jk�j����̐ڑ����󂯕t�����Ƃ��Ɏ��s�������Ȃ̂��B���ꂪ��������΁ATomcat��mod_jk����ڑ����󂯕t����ƁA�R�l�N�V���������������B���̃R�l�N�V������JMX�ŊǗ�����ۂ�ObjectName�����������B�������ꂽ���̂́A�L���b�V���Ƃ���HashMap�Ɋi�[����A���������[�N�������N�����Ă���Ƃ����̂��B

Copyright © ITmedia, Inc. All Rights Reserved.

'; if( !this.isSubscription ) { this.insertTarget = document.querySelector('#cmsBody .subscription') || document.querySelector('#cmsBody .inner'); } }; BodyAdIMSWithCCE.prototype = Object.create(BodyAdContent.prototype); BodyAdIMSWithCCE.prototype.activate = function () { refreshGam('InArtSpecialLink'); } // global reference window.itm = itm; //entry point BodyAdEventBase.polyfill(); const bodyAdManager = BodyAdManager.getInstance(); bodyAdManager.addEventListener(BodyAdManager.EVENTS.READY, function (ev) { bodyAdManager.loadAdvertise(); }); bodyAdManager.init(); })();
�X�|���T�[����̂��m�点PR

���ڂ̃e�[�}

Microsoft  WindowsőO2025
AI for GWjAO
[R[h^m[R[h Zg by IT - ITGWjArWlX̒SŊ􂷂gD
Cloud Native Central by IT - XP[uȔ\͂gD
�V�X�e���J���m�E�n�E �y�����i�r�zPR
���Ȃ��ɂ������߂̋L��PR

RSS�ɂ‚���

�A�C�e�B���f�B�AID�ɂ‚���

���[���}�K�W���o�^

��IT�̃��[���}�K�W���́A �������A���ׂĖ����ł��B���Ѓ��[���}�K�W�������w�ǂ��������B