Oracle Solaris Studio 12.2 DLight �e塼�ȥꥢ��
����û���e塼�ȥꥢ��Ǥϡ�DLight �Ĵ�¬-�ġ������Ѥ����ץ?���μ¹ԥץ?���ȡ�ɽ�����줿��̥ǡ����γ�ǧ�ץ?���ˤĤ������$��ޤ���
����
DLight �ϡ�Oracle Solaris ưŪ�ȥ졼�� (DTrace) �ƥ��Υ?�˴�Ť���C/C++ ��ȯ�Ը��������÷�����ե�����Ĵ�¬-�ġ���Ǥ���Solaris �ץ�åȥե������ DLight ����Ѥ���ȡ�ʣ��� DTrace ������ץȤ���Υǡ�����Ʊ��μ�ˡ���Ѥ���ʬ�Ϥ������ץꥱ�������μ¹Ի���������ܸ���ޤǥȥ졼���Ǥ��ޤ���
�桼�����ϡ�DLight ��¹Ԥ��륷���ƥ�� root ���¤�ɬ�פǤ���DLight �ε�ư���� root �桼�����Ȥ��ƥ?���Ƥ��ʤ���硢�ץ?����ǽ�˼¹Ԥ������ root �ѥ���ɤ����Ϥ�����ޤ���
DLight �ˤ� C��C++������� Fortran �ץ?�������μ��� 5 �ĤΥץ�ե�����ġ��뤬�ޤޤ�ޤ���
����åɥޥ����?�ơ���
CPU���Ѿ�
������Ѿ�
����åɻ��Ѿ�
I/O ���Ѿ�
�ޤ� DLight �ˤϡ�AMP (Apache��MySQL��PHP) �����å��Υץ?���Ѥ˼��� 3 �ĤΥץ�ե�����ġ��뤬�ޤޤ�ޤ���
Apache ��˥���
MySQL ��˥���
PHP ��˥���
�¹Բ�ǽ�ʥ������åȤ�¹Ԥ��뤫���������åȥץ?������³����ȡ��ƥġ���ˤ�äơּ¹Դƻ� (Run Monitor)�ץ�����ɥ��Υ���դ˻��Ѿ����ɽ������ޤ����ƥ���դˤϡ�����å����ƾܺپ����ɽ������ܥ�����ޤ���������ɥ�����ˤ��륤����������ȥ?��Ǥϡ�����դ�ɽ����)��Ǥ��ޤ���
����ץ륢�ץꥱ�������ι���
���ȡ��뤵�줿 Oracle Solaris Studio 12.2 �� exam les/dlight/ProfilingDemo �ǥ��쥯�ȥ�ˤ��� ProfilingDemo ���ץꥱ����������Ѥ��ޤ���
ProfilingDemo �ǥ��쥯�ȥ�����Ƥ桼�������Ѥκ���ΰ�˥��ԡ����ޤ���
cp -r installation_directory/examples/dlight/ProfilingDemo ~/ProfilingDemo
�桼�����ȼ��Υץ?��ॳ�ԡ����ۤ��ޤ���
cd ~/ProfilingDemo make
�ץ?���ϡ��ǥХå�����.��8.���� -g ���ץ�������Ѥ��ƹ��ۤ���ޤ�(���Υ��ץ�������Ѥ����˥���ѥ����Ԥ��ȡ�DLight �ˤ�äƥץ?���μ¹Ի��Υǡ����μ��ɽ���Ϥ���ޤ������ؿ�Υ����������ɤ�ɽ�����뵡ǽ��ư��ޤ���)��
DLight �ε�ư
DLight ���ޤ<¹���Ǥʤ����ϡ����Τ褦�����Ϥ��Ƶ�ư���ޤ���
installation_directory/bin/dlight
����ץ륢�ץꥱ�������μ¹�
DLight �ǡ��ֿ��� DLight �������å� (New DLight Target)�ץܥ��� ��å����ޤ����������åȤΥ%����?�ܥå����ǡ����μ��˽����ޤ���
�ּ¹Բ�ǽ�ʥ������å� (Executable Target)�ץ��֤�å����ޤ���
�ּ¹� (Run)�ץե�����ɤ� profilingdemo �¹Բ�ǽ�ե�����ؤΥѥ�̾�����Ϥ��뤫���ֻ��� (Browse)�פ�å������ե�����j��%����?�ܥå�������Ѥ��� prof lingdemo �¹Բ�ǽ�ե�����˰�ư���ޤ���
����ץ륢�ץꥱ�������ϰ�����Ѥ��ʤ����ᡢ�ְ�� (Arguments)�ץե�����ɤ϶���Τޤޤˤ��Ƥ����ޤ���
�֥ȥ졼�� (Trace)�ץե�����ɤϼ¹Բ�ǽ�ե�����λҥץ?����ȥ졼��������ˤΤ��Ѥ��뤿�ᡢ���Υե�����ɤ����ˤ��Ƥ����ޤ���
�ּ¹� (Run)�פ�å����ޤ���
DLight �ε�ư���� root �桼�����Ȥ��ƥ?���ʤ��ä����ϡ�root �ѥ���ɤ����Ϥ�����ޤ���
ProfilingDemo ���ץꥱ������¹ԤϤ����ּ¹Դƻ� (Run Monitor)�ץ�����ɥ���ưŪ����դ�ɽ���Ϥ��ޤ������ϥ�����ɥ��� ProfilingDemo �ץ?���κ�����Ƥ��������Τǡ����ν��Ϥȥ���դ˼����줿�ǡ�����ȹ�Ǥ��ޤ���
�¹Ԥ���λ����ޤǡ��ץ?����¥����뤿�Ӥ� Enter �������ޤ���
������������ȥ?��λ���
�ּ¹Դƻ� (Run Monitor)�ץ�����ɥ��β���ˤϡ�����դ�ɽ����)�椹�뤿���ɽ�����饤�!��ܺ٥��饤�!�����ӻ��֥��饤�$γƥ��饤�$�����ޤ������饤�$˴ؤ�������ɽ������ˤϡ��ޥ�����������饤�$ν�λ�ݥ���Ȥξ�˹�碌�ޤ���
�ޥ�����������ǻ��֥��饤�$�å������ޥ����ܥ�������ޤޥ��饤�$�¦�˥ɥ�å�����ȡ��¹Ԥγ��ϰ��֤��ǧ�Ǥ��ޤ������٤ƤΥ���դ�Ϣư���ƥ��饤�ɤ��뤿�ᡢǤ�դλ��֤˳��ΰ� (CPU�����������åɡ�I/O) ���ɤΤ褦�ʾ�ˤʤäƤ��뤫���ǧ�����������ΰ�δط��뤳�Ȥ��Ǥ��ޤ���
���֥��饤�$��鱦�˥ɥ�å�����ȡ��¹Ԥ�t�Τ��ǧ�Ǥ��ޤ���
����ñ�̤ǽŤʤä�����ȥ?�롢ɽ�����饤�$˥ޥ�������������ư���ޤ���ɽ�����饤�%���ȥ?�����Ѥ���ȡ�����դ�ɽ�����줿�¹Ի����������ʬ��j��Ǥ��ޤ���
ɽ�����饤�$γ��ϥݥ���ȤǤ��뺸�ϥ�ɥ��å������¹Ԥγ��ϰ��֤ޤǤΤ��٤Ƥβ����ɥ�å����ޤ�������Ǽ¹�t�Τ�����դ˰��٤�ɽ�������褦�ˤʤ�ޤ�������ǽ�ʤȤ���ޤǽ̾�ɽ��������⡢Ʊ�ͤη�̤ˤʤ�ޤ����¹Ի���t�Τ�j����硢���֥��饤�$ϵ�ǽ���ޤ��ǡ���t�ΤǤ�ɽ�����Ƥ��뤿�ᡢ�����?�뤹����ʬ������ޤ���
���Ͼܺ٤Ƥ����ޤ��礦��ɽ�����饤�$γ��ϥݥ���Ȥ˥ɥ�å����ޤ����ϥ�ɥ��ɥ�å�����ȡ�����դϼ¹Ԥ��ΰ褫�齪λ�ݥ���Ȥ˸����äƳ��礷�Ƥ����ޤ������֥��饤�$ϡ��դ����Ӽ¹Ի���p��˥����?��Ǥ���褦�ˤʤäƤ��ޤ���
���饤�$λ�����ˡ�����$�ɽ�����뤿��ˡ�������ξܺ٥��饤�$ν�λ�ݥ���Ȥξ�˥ޥ�������������碌�ޤ����ܺ٥��饤�%���ȥ?�����Ѥ���ȡ��¹Ի��ΰ����j�ƾܺ٤�Ĵ�٤뤳�Ȥ��Ǥ��ޤ���
�ܺ٥��饤�$γ��ϥݥ���Ȥ�ɽ�����饤�$γ��ϥݥ���Ȥ����λ��֤˥ɥ�å����ޤ�������դϡ����ϥݥ���Ȥ�p���ΰ�ǥ��졼ɽ���ˤʤꡢ����ˤ�äƳ��ϥݥ���ȤȽ�λ�ݥ���Ȥδ֤��ΰ褬��Ĵɽ������ޤ���
����դξܺ٥ܥ��� (�֥���åɤξܺ� (Thread Details)�ס��֥ۥåȥ��ݥå� (Hot Spots)�ס��֥����� (Memory Leak)�ס���Ʊ������� (Sync Problems)�ס��ޤ��ϡ�I/O �ξܺ� (I/O Details)��) �Τ����줫��å�����ȡ���Ĵɽ�����줿�ΰ�Υǡ������ܺ٥��֤�ɽ������ޤ���
ɽ�����饤�$γ��ϥݥ���Ȥ�ɥ�å����Ƽ¹Ԥγ��ϰ��֤ޤ��ᤷ�����٤ƤΥǡ�����ɽ�����ޤ���
����åɥޥ����?�ơ��Ȥ�Ĵ��
�֥���åɥޥ����?�ơ��� (Thread Microstate)�ץ���դˤϡ��ץ?���μ¹���μ¹Ծ��֤��Ѳ��ʤɡ��ץ?���Υ���åɤγ��פ�ɽ������ޤ���Solaris �ޥ����?�ơ��ȥ�������ƥ���ǽ�ϡ�DTrace ��ǽ����Ѥ��ơ�10 �ΰۤʤ�¹Ծ��֤����ä��ꤽ�ξ��֤���Ф��ꤹ��ƥ���åɤξ��֤ˤĤ��ơ��ܺ٤ʾ�������ޤ���
�桼�����¹��� (User Running) |
�桼�����⡼�ɤǥץ?������䤷�����֤γ�� |
�����ƥ�¹��� (System Running) |
�����ƥ�⡼�ɤǥץ?������䤷�����֤γ�� |
����¾�Ǽ¹��� (Other running) |
�����ƥ�ȥ�åפʤɤν���ǥץ?������䤷�����֤γ�� |
�ƥ����ȥڡ����ե���� (Text page fault) |
�ƥ����ȥڡ����ե���Ȥν���ǥץ?������䤷�����֤γ�� |
�ǡ����ڡ����ե���� (Data page fault) |
�ǡ����ڡ����ե���Ȥν���ǥץ?������䤷�����֤γ�� |
�֥�å� (Blocked) |
�桼������å����Ե��˥ץ?������䤷�����֤γ�� |
��̲�� (Sleeping) |
��̲�ǥץ?������䤷�����֤γ�� |
�Ե��� (Waiting) |
CPU ���Ե��˥ץ?������䤷�����֤γ�� |
����åɥޥ����?�ơ��ȥġ���ϡ��ץ?���μ¹���˺�.���줿���٤ƤΥ���åɤξ��֤γ������ե������ɽ�����ޤ���ɽ���������֤ϡ��ֵ�̲�� (Sleeping)�ס����Ե��� (Waiting)�ס��֥֥�å� (Blocked)�ס��ּ¹��� (Running)�פ� 4 �Ĥ$��Ǥ�������� 4 �Ĥξ��֤ϡ���ǽ-�Τ��� 10 �Υޥ����?�ơ��Ȥ��ά���ޤ��ϳ�άŪ��ɽ������Τǡ��ץ?���Ǽ¹���Τ��٤ƤΥ���åɤξ��֤γ��פ��ޤ������Ȥ��С��ּ¹��� (Running)���֤ǻ��Ѥ������֤ϡ��桼�����⡼�ɤǼ¹��桢�����ƥॳ����Ǽ¹��桢�ڡ����ե���ȤǼ¹��桢�ȥ�åפǼ¹���ȡ����٤Ƥμ���μ¹Ծ��֤�ɽ���ޤ���
ɽ�����饤�$κ��ϥ�ɥ�˰�ư���ơ����οޤΤ褦�˥���դ��¹Ի����� 20 �ô֤��褦�ˤ��ޤ������Υ�����Ǥϥץ?���μ¹Գ��ϰ��֡�SEQUENTIAL DEMO ��ʬ�δ�֤�ɽ������Ƥ��ޤ���������ʬ�Ǥϥ��륹��åɤ� 2 �ĤΥ���������ߤ˼¹Ԥ���ޤ�������åɤ���̲��Υݥ���Ȥϡ��桼������ Enter ������å�����Τ�ץ?��ब�Ե����Ƥ�����$�����ޤ���
���֥��饤�$�å����Ʊ��˥ɥ�å���������åɥޥ����?�ơ��ȥġ����ɽ������륹��åɿ� 3 ����ä���Ȥ���ޤǰ�ư���ޤ���
�ץ?��ब PARALLEL DEMO ��ʬ������ȥ���åɤο�� 3 �ĤˤʤäƤ��ޤ����ᥤ��åɤ��� 2 �Ĥ��ɲå���åɤ���ư�������줾��Υ���åɤˤ��� 2 �ĤΥ��������¹Ԥ��Ƽ¹Ԥ��ޤ������Ե��� (Waiting)���� (����) �ȡֵ�̲�� (Sleeping)���� (�Ŀ�) �Ǥ��ʤ�λ��֤���䤵�졢�ּ¹��� (Running)���� (�п�)�ˤϤ���ۤɻ��֤��Ȥ��Ƥ��ʤ��Τ��狼��ޤ���PARALLEL DEMO ��ʬ�ˡ��֥֥�å� (Blocked)���� (�����) �˻��Ѥ��줿���֤��ʤ��Τϡ��ץ?���Τ�����ʬ�ˡ�����åɤ�֥�å����������¾��å��ʤɤΥ���å�Ʊ����ʤ������Ƥ��ʤ�����Ǥ���
���֥��饤�$�¹Ի��ν�λ�ݥ���Ȥޤǥɥ�å����ޤ���������Ǽ������֥֥�å� (Blocked)���֤Υޥ����?�ơ��Ȥϡ��ץ?��ब PTHREAD MUTEX DEMO ����ʬ��������$˸���ޤ��������ǡ��ƥ���åɤ������¾��å�����Ѥ�������λ��$Ǥۤ��Υ���åɤ��鴳�Ĥ���뤳�Ȥ���ޤ����ƥ���åɤϡ������¾��å�����$�����ˤΤߥ����ƥ��֤˼¹ԤǤ��ޤ����̤Υ���åɤ������¾��å����ͭ���Ƥ���Ȥ��ˡ�����åɤ������ɤΥ�å����줿��ʬ�˥����������ߤ�ȡ�����åɤϥ֥�å�����ޤ��������¾��å�����Ѥ���ȡ�Ʊ���ǡ����ؤΥ����������Ťʤäƥ���åɤ��ǡ����ζ�����֤ˤʤ뤳�Ȥ��ɤ��ޤ���
�֥���åɤξܺ� (Thread Details)�ץܥ����å�����ȡ�����åɥޥ����?�ơ��Ȥ˴ؤ���ܺ٤�ɽ������ޤ����֥���åɤξܺ� (Thread Details)�פ����������֤ξܺپ���ȤȤ�ˡ��ץ?���Ǽ¹Ԥ��줿���٤ƤΥ���åɤ�������饤��ǥ���ե������ɽ������ޤ���
�֥���åɤξܺ� (Thread Details)�ץ�����ɥ��ˤϡ��ץ?���μ¹Ի���t�ΤǤγƥ���åɤ˴ؤ�����֤ο�ܤ�ɽ������ޤ���
�����������åɤο����դ����ΰ�Τ����줫���֤��ޤ�����������λ��$Ǥ��Υ���åɤǹԤ��Ƥ��뤳�ȤˤĤ��Ƥξܺ٤��ݥåץ��åץ�����ɥ���ɽ������ޤ����ܺ٤ˤϡ��ǡ�������줿���֤ȡ����λ��$dzƥ���åɾ��֤���䤵�줿���֤γ�礬�ޤޤ�ޤ��������������ɥ���¦�ˤ���ֳ��� (Summary)���ΰ���֤��ȡ����Υ���åɤμ¹�t�Τˤ�����ƾ��֤γ�礬���ݥåץ��åץ�����ɥ���ɽ������ޤ���
ɽ�����Ƥ��ѹ�����ˤϡ�������ɥ��Υ���ȥ?�����Ѥ��ƤߤƤ��$�����
�ǥե���ȤǤϥ�����ɥ��ˤϤ��٤ƤΥ���åɤ�ɽ������ޤ�����ɽ�� (Show)�ץɥ�åץ%���ꥹ�Ȥα�¦�ˤ��벼����å����ޤ�����λ���Ƥ��ʤ�����åɤΤߤ�ɽ������֥饤�֥���åɤΤ� (Live Threads only)�פ�j�뤫���ץ?���¹���˽�λ��������åɤΤߤ�ɽ������ֽ�λ����åɤΤ� (Finished Threads only)�פ�j��Ǥ��ޤ���
�ǥե���ȤǤϡ�������ɥ��ˤ� 4 �Ĥ����Ѽ¹Ծ��֤Τߤ�ɽ������ޤ����־ܺ٥�٥� (Detail Level)�ץɥ�åץ%���ꥹ�Ȥα�¦�ˤ��벼����å����ޤ��������ξ��֤����ܺ٤�ɽ���������� (Moderate)�פ�j�뤫��10 �Υޥ����?�ơ��Ȥ�ɽ�������־ܺ� (Advanced)�פ�j��Ǥ��ޤ���
�ġ��Υ���åɤ�å��������Υ���åɤ���Ĵɽ������뤳�Ȥ��ǧ���ޤ���Shift �������ʤ����̤Υ���åɤ�å�����ȡ������ϰϤΥ���åɤ�j��Ǥ��ޤ������ܤ��Ƥ��ʤ�����åɤ�ʣ��j��ˤϡ�Ctrl �������ʤ��饹��åɤ�j�ޤ�����Ū�Υ���åɤ���Ĵɽ�����줿�顢������å����ơ�j�줿����åɤΤ�ɽ�� (Show Only Selected Threads)�פ�j�ޤ����⤦���٤��٤ƤΥ���åɤ�ɽ������ˤϡ���ɽ�� (Show)�ץɥ�åץ%���ꥹ�Ȥǡ֤��٤ƤΥ���å� (All Threads)�פ�j�ޤ���
��äȾܤ�������ˤϡ�����ܥ��� ��å����ƥ���åɤΥ���դ���礷�ޤ������Υ�����ˤϡ��־ܺ٥�٥� (Detail Level)�פ��־ܺ� (Advanced)�פ����ꤵ�졢���礵�줿������ɥ���ɽ������ޤ���
�̾��ܥ��� ��å�����ȡ�p�Υ������٥�����ޤ���
�ּ¹�t�Τ�ɽ�� (Show Complete Run)�ץܥ��� ��å�����ȡ��֥���åɤξܺ� (Thread Details)�ץ�����ɥ��˼¹�t�Τ����٤�ɽ������ޤ�(�⤦���٥ܥ����å������ �դ����ӥ���åɤξܺ٤��?��ɽ���Ǥ��ޤ�)��
����å� 4 ��� 2 ���ܤΥ������Ĺ��d�å����ޤ����֥���åɸƤӽФ������å� (Thread Call stack)�ץ��֤����������λ��$ǤΥ���åɤθƽХ����å���ɽ������ޤ��������å��ΥΡ��ɤ��ĥ���Ƥ��Υ���åɤ�ȯ8���Ƥ���ƤӽФ����ǧ�Ǥ��ޤ����ޤ�����Ƭ�ΥΡ��ɤ���å����ơ֤��٤�Ÿ�� (Expand All)�פ�j��ȡ����٤ƤΥ���åɤθƤӽФ���ɽ���Ǥ��ޤ���
mutex_threadfunc �ؿ��%֥륯��å�����ȡ��ؿ�ƤӽФ��줿���Υ������ե����뤬�����ޤ�(���졼ɽ������Ƥ��ʤ������å��Τɤδؿ�ˤĤ��Ƥ⡢�ƤӽФ��������ե������ɽ���Ǥ��ޤ�)��
�֥���åɤξܺ� (Thread Details)�ץ��֤�å�����ȡ��֥���åɤξܺ� (Thread Details)�ץ�����ɥ������ޤ�������åɤ�å����ޤ����ޥ����ޤ��ϥ����ܡ��ɤ���Ѥ��ơ�����åɤΥ�����饤��˱�äư�ư�Ǥ��ޤ���
�ޥ�������Ѥ�����ϡ�����åɤ���å������֥ʥӥ����� (Navigate)�ץ�˥塼����Ѥ��ƥե��������ޤ��ϱ��˰�ư����������饤���Υݥ���Ȥ����ꤷ���֥���åɸƤӽФ������å� (Thread Call stack)�ץ��֤����Ƥ����뤫���֥���åɸƤӽФ������å� (Thread Call stack)�ץ��֤˥ե����������ڤ��ؤ��ޤ���
�����ܡ��ɥ��硼�ȥ��åȤ���Ѥ��ƥ���åɤ��ư����ˤϡ����Υ�������Ѥ��ޤ���
Ctrl+������� Ctrl+�����ǡ�����åɤΥ�����饤����˥����?�뤷�ޤ���
Ctrl+�����ǡ�������饤���Υݥ���Ȥ�j��ȡ��֥���åɸƤӽФ������å� (Thread Call stack)�פ���������ޤ���
Alt+�����ǡ��֥���åɸƤӽФ������å� (Thread Call stack)�ץ�����ɥ��������ͤ�ե����������ޤ���
�֥���åɸƤӽФ������å� (Thread Call stack)�פǡ������� Enter ��������Ѥ���ȡ��ؿ�˴�Ϣ�դ���줿�������ե����뤬ɽ������ޤ���
CPU ���Ѿ��Ĵ��
��CPU ���� (CPU Usage)�ץ���դˤϡ����ץꥱ�������μ¹���˻��Ѥ������ CPU ���֤��ѡ�����Ȥ�ɽ������ޤ���
�֥ۥåȥ��ݥå� (Hot Spots)�ץܥ����å�����ȡ�CPU ���֤˴ؤ���ܺ٤�ɽ������ޤ����ִؿ����� CPU ���� (CPU Time Per Function)�ץ��֤��������ץ?���δؿ���ƴؿ�ˤ�äƻ��Ѥ��줿 CPU �λ��֤ȤȤ��ɽ������ޤ����ؿ�ϻ��Ѥ��줿 CPU ���֤ν�˰���ɽ������뤿�ᡢ���ѻ��֤���äȤ�Ĺ���ؿ�ǽ��ɽ������ޤ����ץ?��ब�ޤ<¹���ξ��ϡ������֤�ɽ���������֤ϡ��ܥ����å��������$���䤷�����֤Ǥ���
�ִؿ�̾ (Function Name)����Υإå!���å�����ȡ��ؿ����ե��٥åȽ�˥����Ȥ���ޤ���
��CPU ���� (��¾Ū) (CPU Time (Exclusive))����Υإå!���å�����ȡ��ġ��δؿ�ˤ�äƻ��Ѥ��줿���֤ν�˴ؿ�����Ȥ���ޤ���
CPU ���֤� 2 �Ĥ���ΰ㤤���ǧ���ޤ�����CPU ���� (���Ū) (CPU Time (Inclusive))�פˤϡ��ؿ�μ¹Գ��Ϥ��齪λ�ޤǤδ֤˻��Ѥ��줿 CPU ���֤ι�פ�ɽ������ޤ����ޤ�������ɽ�����줿�ؿ�ˤ�äƸƤӽФ��줿����¾���٤Ƥδؿ�λ��֤�ޤޤ�ޤ�����CPU ���� (��¾Ū) (CPU Time (Exclusive))�פˤϡ�����δؿ�Τߤ˻��Ѥ��줿���֤�ɽ�����졢���δؿ��ƤӽФ��줿�ؿ�ϴޤޤ�ޤ���
��CPU ���� (���Ū) (CPU Time (Inclusive))����إå!���å����ơ����ѻ��֤���äȤ�Ĺ���ؿ����Ƭ���ᤷ�ޤ���work_run_usrcpu �ؿ�ϡ�CPU ���� (��¾Ū) (CPU Time (Exclusive))�פ����CPU ���� (���Ū) (CPU Time (Inclusive))�פ����鷺����Ĺ�����Ѥ��Ƥ��뤳�Ȥ��ǧ���ޤ�������� CPU ���֤Τ��dξ��̤����ºݤϤ��δؿ�ƤӽФ���¾�δؿ�ˤ�äƻ��Ѥ���Ƥ��뤳�Ȥ��̣���ޤ������$��ۤȤ�ɤλ��֤���Ѥ��Ƥ���Τ� work run_usrcpu �ؿ��ΤǤ���
����δؿ�ϥܡ���ɥƥ����Ȥ�ɽ������Ƥ��ޤ��������δؿ�Υ������ե������ɽ���Ǥ��ޤ���work_run_usrcpu �ؿ��%֥륯��å����ޤ���common.c �ե����뤬������ work run_usrcpu �ؿ���� 59 ���ܤ˥������뤬�֤���Ƥ��ޤ������ιԤκ��ޡ�����ˡ������Ĥ��ο��ɽ������Ƥ��ޤ���
���ޡ�����ˤ�����ξ�˥ޥ�������������碌�ޤ��������ο��ϡ��ִؿ����� CPU ���� (CPU Time Per Function)�ץ��֤�ɽ�������ؿ�����Ū�������¾Ū CPU ���֤�Ʊ����ȥ�å��Ǥ���ɽ���ΰ�ʤ����뤿��˥�ȥ�å��ϴݤ��ɽ������ޤ������ޥ����ξ�˹�碌��ȡ��ݤ���Ƥ��ʤ��ͤ�ɽ������ޤ���work_run_usrcpu �ؿ���Ƿ���Ԥ� for �롼�פʤɡ�CPU �����ԤΥ�ȥ�å��ϡ�common.c �������ե�����ˤ�ɽ������ޤ���
���֤����Ϥ��� Enter ����������������Ѥ����ä��?�뤷�ơ��ִؿ����� CPU ���� (CPU Time Per Function)�ץ��֤Ρֻ��֥ե��륿 (Time Filter)�פγ��ϻ��֤� 0:30 ���ѹ����ޤ����ּ¹Դƻ� (Run Monitor)�ץ�����ɥ��Υ���դ����ܺ٥��饤�$Υϥ�ɥ���ư�����Ȥ��ξ��֤��ѹ�����ޤ����ϥ�ɥ��ɥ�å�����ȡ��ִؿ����� CPU ���� (CPU Time Per Function)�ץ��֤Ρֻ��֥ե��륿 (Time Filter)�פ����꤬���פ���褦�˹�������ޤ������פʤΤϡ����Υ��֤δؿ���Ф���ɽ�������ǡ������ե��륿��ȿ�Ǥ��ƹ�������뤿�ᡢ���λ�����˻��Ѥ��줿 CPU ���֤Τߤ�ɽ������뤳�ȤǤ���
����Υ�ȥ�å��˰��פ���ǡ����˥ե��륿��Ŭ�Ѥ��뤳�Ȥ�Ǥ��ޤ���work_run_usrcpu �Ρ�CPU ���� (��¾Ū) (CPU Time (Exclusive))�ץ�ȥ�å�����å����ޤ����ּ��ξ��ιԤΤ�ɽ��(Show only rows where)�� > ��CPU ���� (��¾Ū) (CPU Time (Exclusive)) == work_run_usrcpu �˼�����Ƥ����ȥ�å��פν��j�ޤ���¾�ιԤ����٤ƥե��륿�ǽ�졢��¾Ū CPU ���֤����Υ�ȥ�å������ԤΤߤ�ɽ������ޤ���
������Ѿ��Ĵ��
�֥������ (Memory Usage)�ץġ���ˤϡ��ץ?���¹Ի��Υ���ҡ��פηл��Ѳ���ɽ������ޤ�������ϡ��ץ?���������פˤʤä�����γ���˼��Ԥ�������ݥ���Ȥ��롢������������˻��ѤǤ��ޤ����������ϡ��ץ?���Υ��������ä��븶��Ȥʤ�ޤ�����������ȯ8���Ƥ���ץ?���μ¹Ի��֤�Ĺ���ʤ�ȡ����Ū�˻��ѤǤ��������������礬����ޤ���
�ּ¹Դƻ� (Run Monitor)�פλ��֥��饤�$��˥��饤�ɤ��������֤ȤȤ�˥���ҡ��פ�����ͻҤ��ǧ���ޤ������Υץ?���μ¹Ԥˤϡ�4 ����Ȥ�����ޤ����ǽ�� 2 ��ϡ�SEQUENTIAL DEMO ��ˡ�3 ���ܤ� PARALLEL DEMO ��ˡ�4 ���ܤ� PTHREAD MUTEX DEMO ���ȯ8���Ƥ��ޤ���
�֥����� (Memory Leak)�ץܥ����å�����ȡ��֥������ܺ� (Memory Leak Detail)�ץ��֤������������ˡ����������ؿ�ξܺ٤�ɽ������ޤ������Υ��֤ˤϥ�������ȯ8���Ƥ���ؿ�Τߤ�����ɽ������ޤ����ܥ����å��������˥ץ?��ब�¹���ξ��ϡ��ܥ����å��������$�¸�ߤ��Ƥ�������ξ�꤬ɽ������ޤ������֤��в᤹��ȡ�����������ä����ǽ-�����뤿�ᡢ�ֺ�ɽ�� (Refresh)�ץܥ��� ��å����ƥꥹ�Ȥ����Ƥ��$������¹Ԥν�λ���ޤǥ����������Ф���ʤ��ä����ϡ��֥������ܺ� (Memory Leak Detail)�ץ��֤˥����������Ĥ���ʤ��ä����Ȥ�������ޤ���
�ּ¹Դƻ� (Run Monitor)�ץ�����ɥ��ǡֳ��� (Start)���֤���ӡֽ�λ (End)���֤��ѹ����뤫���ܺ٥��饤�$���Ѥ��ơ��ǡ�����ե��륿�Ǥ��ޤ���
���μ¹ԤǤϡ�ProfilingDemo �ץ?���� work run_getmem �ؿ�˴�Ϣ�դ���줿���������Ƥ��ޤ���work_run_getmem �ؿ��%֥륯��å�����ȡ�common.c �ե����뤬���������δؿ�ǥ�������ȯ8���Ƥ���Ԥ˥������뤬�֤���ޤ���
��������ȥ�å������ޡ������ɽ������ޤ���CPU ���Ѿ�Υ�ȥ�å��Ǽ¹Ԥ����Ȥ���Ʊ�ͤˡ��ޥ������ξ�ˤ��碌��Ⱦܺ٤�ɽ������ޤ���
�ִؿ����� CPU ���� (CPU Time Per Function)�ץ��֤�Ʊ���褦�ˡ��֥������ܺ� (Memory Leak Detail)�ץ��֤ǥ�ȥ�å�����å����ƥǡ�����ե��륿�������j�ޤ���
����åɻ��Ѿ��Ĵ��
�֥���åɻ��� (Thread Usage)�ץġ���ˤϡ��ץ?���ǻ��Ѥ���Ƥ��륹��åɿ�ȡ�����åɤ���������³�Ԥ��뤿��˥�å�����$���ޤ��Ե����ʤ���Фʤ�ʤ����٤Ƥλ��$�������ޤ������Υǡ����ϥޥ�e���åɤΥ��ץꥱ�������ǡ������ȤΤ������Ԥ{��֤���뤿��˥���åɤ�Ʊ���Ԥ�ɬ�פ��������ͭ�ѤǤ���
���֥��饤�$�¹Ԥγ��ϰ��֤˥��饤�ɤ������֥���åɥޥ����?�ơ��� (Thread Microstate)�ץ���դξ���Ʊ���褦�ˡ��ץ?���� SEQUENTIAL DEMO ��ʬ�����ץ?��ब PARA LEL DEMO ��ʬ�����äƥ���åɿ� 3 �ˤʤ�ޤǤδ֡�����åɿ� 1 �Ǥ��뤳�Ȥ��ǧ���ޤ���
�¹Ԥγ��ϰ��֤��顢����� 2 �ĤΥ���åɤ����Ϥ����ľp�ޤǤΥǡ�����ɽ�������褦�ˡ�ɽ�����饤�$ν�λ�ݥ���ȤΥϥ�ɥ���ư�����ޤ���
��CPU ���� (CPU Usage)�ץ���դȡ֥������ (Memory Usage)�ץ���դ�Ʊ����֤ơ�1 �ĤΥ���åɤ� CPU �λ��֤ȥ������Ѥ��벿�餫�γ�ư��¹Ԥ��Ƥ��뤳�Ȥ��ǧ���ޤ������δ�֤ϡ��ᥤ��åɤ��ե�����˽��ߤ�Ԥ��������Ĥ��η���Ϣ³���ƹԤ����ץ?���� SEQUENTIAL DEMO ��ʬ���б����ޤ����桼������ Enter �������Τ�ץ?��ब�Ե�����֡�CPU �ȥ���λ����̤ϸ�����������åɿ�� 1 �ΤޤޤǤ���
���֥��饤�$˥��饤�ɤ���������åɤ� 3 ����ä��� 2 ����Υݥ���Ȥ��ǧ�Ǥ��ޤ�������åɤ� 1 ���ܤ���äϡ��ץ?���μ¹Ԥ� PARALLEL DEMO ��ʬ���б����ޤ��������ǡ��ᥤ��åɤ��ե�����ؤν��ߤȷ��μ¹Ԥκ�Ȥ��¹Ԥ��ƹԤ����ᡢ2 �Ĥ��ɲäΥ���åɤϤ��ޤ���������ʬ�ǥ�������̤� CPU �����̤�������ä��ޤ�����SEQUENTIAL DEMO ��ʬ�ξ����⤺�ä�û�����֤� 2 �ĤΥ���������λ���ޤ���
PARALLEL DEMO ����åɤ���λ������ǡ�����åɿ� 1����ꡢ�ᥤ��åɤϥ桼������ Enter �������Τ��Ե����ޤ���
�ץ?���� PTHREAD MUTEX DEMO ��ʬ�μ¹Ի��ˡ�����åɿ�Ϥդ����� 3 ����ä��ޤ�������åɿ� 3 ����ä��Ƥޤ�ʤ���������Ǽ�������å��Ե����������ɽ������ޤ���?PTHREAD MUTEX DEMO? �Ǥϡ�ʣ��Υ���åɤˤ������δؿ�ؤΥ�������������ɤ����ᡢ�����¾��å�����Ѥ��ޤ������줬������åɤ���å��μ��$��Ե����븶��Ǥ���
��Ʊ������� (Sync Problems)�ץܥ����å���������åɥ�å��ξܺ٤�ɽ�����ޤ����֥���å�Ʊ��ξܺ� (Thread Synchronization Details)�ץ��֤������������¾��å�����$��뤿����Ե�����ɬ�פ�����ؿ����ɽ������ޤ����ޤ����ؿ��Ե�����䤷���ߥ��ÿ�Υ�ȥ�å��ȡ��ؿ��å����Ե�����ɬ�פ����ä����ɽ������ޤ���
�ץ?���μ¹���ˡ�Ʊ������� (Sync Problems)�ץܥ����å�����Ȥ��ϡ��ֺ�ɽ�� (Refresh)�ץܥ��� ��å����ơ��ǿ��Υ���åɥ�å���ɽ��������ɬ�פ������礬����ޤ���
���Ԥ{��� (Wait Time)����Υإå!���å�����ȡ��Ե�����䤷�����֤ν�˴ؿ�����Ȥ���ޤ���
�֥�å��Ե��� (Lock Waits)����Υإå!���å�����ȡ��ؿ�ǥ���åɤ��Ե����Ƥ������ν�˴ؿ�����Ȥ���ޤ���
��å��Ե����Ǥ�¿�� mutex_threadfunc �ؿ��%֥륯��å����ޤ���mutex.c �������ե����뤬������pthread_mutex_lock �ؿ�ƤӽФ��줿�Ԥ˥������뤬�֤���Ƥ��ޤ������δؿ�ϡ�����ξ�꤬�ɤ��ޤ��Ͻ��ߤ����p�˥���ξ����å���������ô�������Υ���˥�å����ĥ���åɤ��ʤ��ʤ�ޤ��Ե����ޤ���
�Ԥ{��֤���ӥ�å��Ե���Υ�ȥ�å��ϡ��������ե�����κ�¦����Υޡ������ɽ������ޤ�����ȥ�å��ξ�˥ޥ�������������碌��Ⱦܺ٤�ɽ������ޤ������ξܺ٤ϡ֥���å�Ʊ��ξܺ� (Thread Synchronization Details)�ץ��֤�ɽ�����ƤȰ��פ��ޤ���
��ȥ�å�����å����ơ֥ץ�ե������ȥ�å���ɽ�� (Show Profiler Metrics)�פ�j����ޤ�������ǥ�ȥ�å��ϤɤΥץ�ե�����ġ���Υ��������ǥ����ˤ�ɽ������ʤ��ʤ�ޤ���
��ɽ�� (View )�� > �֥ץ�ե������ȥ�å���ɽ�� (Show Profiler Metrics)�פν��j���դ����ӥ�ȥ�å���ɽ�����ޤ���
I/O ���Ѿ��Ĵ��
��I/O ���� (I/O Usage)�ץġ���ˤϡ��ץ?���¹�����ɤ�ꤪ��ӽ��߳�ư�γ��פ�ɽ������ޤ���
���Υ�����ˤϡ����륹��åɤ� 2 �ĤΥ���������ߤ˼¹Ԥ���� SEQUENTIAL DEMO ��ʬ�ˤ����롢�¹Ԥγ��ϰ��֤Ǥ� I/O ���Ѿ��ɽ������Ƥ��ޤ����ǽ�ο��ô֤ǥץ?��ब���Ϥ������θ�桼������ Enter �������ޤ��Ե����Ƥ��ޤ������桼������ Enter �������ȡ��ץ?���ˤ�äư���ե������ʸ����ޤ�ޤ��������γ�ư�ϡ����ޤ줿�Х��ȿ������������ǥ���դ�ȿ�Ǥ���ޤ���
�����ǧ���ޤ���
����������ϡ��Ƕ�� 1 �ô֤˽��ޤ줿�Х��Ȥο���Ƥ��ޤ���ProfilingDemo �ץ?��༫�Τϡ����� SEQUENTIAL DEMO �μ¹���˹�� 79984640 �Х��ȡ��Ĥޤ��� 76.3M �Х��Ȥν��ߤ�Ԥä����Ȥ�ֽ��� (Output)�ץ�����ɥ�����𤷤ޤ�������������Ǽ����줿�ǡ����Υݥ���Ȥ٤ƹ�פ���ȡ������ͤ� 76.3M �Х��ȶ�ˤʤ�ޤ���
�ץ?���ϥ����ƥॳ��������Ѥ��ƥǡ�����8.���ǥ������˽��ि�ᡢ���Υե������δ֤ϡ�CPU ���� (CPU Usage)�ץġ���˼�����륷���ƥ���֤��礭���ʤ�ޤ���
�֥������ (Memory Usage)�ץġ���ˤϡ����ꤷ�� 8K �Х��ȤΥ���ҡ��פ������Ƥ�줿���Ȥ�������ޤ���
��I/O �ξܺ� (I/O Detail)�ץܥ����å����ޤ�����I/O ���� (I/O Usage)�פξܺ٥��֤�������ɸ�����ϡ�ɸ����ϡ�����ӥץ?��ब�ɤ����ߤ�Ԥ�����ե����뤬ɽ������ޤ����e��å��ޡ������դ����ե�������Ĥ����Ƥ��ޤ�������������������դ����ե�������ɤ�ꤪ��ӽ������Ǥޤ3����Ƥ��ޤ���
���Υץ?���Ǥ� Enter �����Dz��٤����Ϥ���$��Ǥ��뤿�ᡢ���ɤ��Х��ȿ� (Bytes Read)����Ϥ��ޤ����Ω�dޤ����ɤ��Х��ȿ� (Bytes Read)������Ĥ���ˤϡ���إå!��α��ˤ����ɽ������ѹ� (Change Visible Columns )�ץܥ����å����ޤ�����ɽ������ѹ� (Change Visible Columns)�ץ%����?�ܥå����ǡ����ɤ��Х��ȿ� (Bytes Read)�פ�j����Ƥ����λ�� (OK)�פ�å����ޤ���
���Υץ?���Ǥ����Τ��٤Ƥΰ���ե����뤬�ɤΤ褦�˻��Ѥ���Ƥ��뤫�ܤ����Τꤿ���Ȥ��ޤ�����I/O ���� (I/O Usage)�פξܺ٥��֤� /var/tmp/baa[]... �ե������å��������Υե����뤬�ɤδؿ�ˤ�äƳ�������Ĥ���줿�����ǧ���ޤ����ե�����ꥹ�Ȥα�¦�Υѥͥ�ˡ��ؿ����ɽ������ޤ���
���δؿ�ꥹ�Ȥ� work_run_syscpu �ؿ��%֥륯��å�����ȡ����δؿ�Υ������ե����뤬�����ޤ���
�ִؿ����� CPU ���� (CPU Time Per Function)�ץ��֤ȡ֥���å�Ʊ��ξܺ� (Thread Synchronization Details)�ץ��֤ǹԤä��褦�ˤ褦�ˡ���I/O ���� (I/O Usage)�פξܺ٥��֤Ǥ�ɽ�������֤����Ǥ��ޤ����ּ¹Դƻ� (Run Monitor)�ץ�����ɥ��Ρ�I/O ���� (I/O Usage)�ץ���դǡ����߳�ư�ϼ¹Ԥγ��ϰ��֤����˶ᤤ���$���ϤޤäƤ��ޤ��������ϥץ?���� SEQUENTIAL DEMO ��ʬ������ե�����˽��ߤ�Ϥ��ݥ���ȤǤ���
�ֽ�λ (End)�ץե�����ɤ˼¹Ԥ� SEQUENTIAL DEMO ��ʬ����λ�������֤����Ϥ��ơ�������ʬ��Ĵɽ�����ޤ����ּ¹Դƻ� (Run Monitor)�ץ�����ɥ��ȡ�I/O ���� (I/O Usage)�פξܺ٥��֤ǥǡ������ե��륿���줿��̡�SEQUENTIAL DEMO �ե����������ϤȽ��Ϥ��ե�����������ޤ���
SEQUENTIAL DEMO �δ֡���I/O ���� (I/O Usage)�פξܺ٥��֤ˤϰ���ե����뤬 1 ��ɽ������Ƥ��뤳�Ȥ��ǧ���ޤ������륹��åɤ��������ե�����ؤν��ߤ�Ԥ����ե�������Ĥ��ޤ����ե������å����Ƥ��Υե�����˥������������ؿ���ǧ�����ؿ��%֥륯��å����ƥ����������ɤ�ɽ�����ޤ���
�ּ¹Դƻ� (Run Monitor)�ץ�����ɥ��ǡ����߳�ư�������ߤ����塢�դ����ӳ��Ϥ���Ȥ���ޤǻ��֥��饤�$˰�ư�����ޤ������ߤΰ����ߤϡ�SEQUENTIAL DEMO �� 2 ���ܤΥ������δ֤˵�����ޤ���2 ���ܤΥ������Ϸ��������ǡ����δ֤ϥǥ������ؤν��ߤϹԤ��ޤ��Ƴ��������߳�ư�ϡ��ץ?��ब PARALLEL DEMO ��ʬ�����äƤ��뤳�Ȥ��ޤ���������ʬ�Ǥϥ桼������ Enter �������ƥ������Ϥ����̡��Υ���åɤǥǥ������ؤν��ߤȷ���Ʊ���˵�����ޤ���
�ֳ��� (Start)�ץե�����ɤ� PARALLEL DEMO �γ��ϻ��֤����Ϥ����ֽ�λ (End)�ץե�����ɤ˽�λ���֤����Ϥ��ơ�PARALLEL DEMO ��ư��Ĵɽ�����ޤ������Υ�����˼�����Ƥ���¹ԤǤϡ����ϻ��֤� 0:18 �ǡ���λ���֤� 0:29 �Ǥ���
�¹Ԥ� PARALLEL DEMO ��ʬ�δ֡���I/O ���� (I/O Usage)�פξܺ٥��֤ˤ�ʣ��ΰ���ե����뤬ɽ������Ƥ��뤳�Ȥ��ǧ���ޤ���1 �ä��Ȥ˿������ե�������ڤ��ؤ�뤿�ᡢ���ߤ�ԤäƤ���Τ� 1 �ĤΥ���åɤ$��Ǥ������������ϥǥ������ؤν��ߤϹԤ��ޤ���
�����줫�Υե������å�����ȡ�parallel_threadfunc �ؿ�ե���������Ĥ��뤳�Ȥ���ǧ�Ǥ��ޤ���
�ܺ٥��饤�$α��ϥ�ɥ��å����ơ��¹Ԥν�λ�ݥ���Ȥޤǥɥ�å����ޤ������Υ�����Ǥϡ��ץ?��ब PTHREAD MUTEX DEMO ��ʬ������桼������ Enter �������ȡ�������ư��դ������Ѳ����뤳�Ȥ��ǧ�Ǥ��ޤ������ϻ��֤� PARALLEL DEMO �ν�λ���֡��Ĥޤꤳ�ξ��� 0.24 ���ѹ����뤳�Ȥˤ�äơ��¹Ԥ� PTHREAD MUTEX DEMO ��ʬ�Υǡ�����ե��륿ɽ�����ޤ���
��I/O ���� (I/O Usage)�פξܺ٥��֤ˤϡ��¹Ԥ� PTHREAD MUTEX DEMO ��ʬ�δ֡�ʣ��Υե����뤬������Ƥ��뤳�Ȥ�������Ƥ��ޤ���PARALLEL DEMO ��ʬ�ξ���Ʊ�ͤˡ�1 �ĤΥ���åɤ��ե�����ؤν��ߤ�Ԥ���1 �ä��Ȥ˽�����Υե�������ڤ��ؤ��ޤ������$������¾��å������Ѥ���Ƥ��뤿�ᡢ���ˤϡ����ߤ�ԤäƤ��륹��åɤ�����Ԥ�����åɤˤ�äƥ֥�å����졢�ե�����ؤν��ߤ�Ϣ³���ƹԤ��ʤ��ʤ뤳�Ȥ�����ޤ���