
½üÄêÀ´Ô½À´Ô½¶àµÄ³§É̺ͻú¹¹ÀûÓà OpenStack ´î½¨ IaaS ²ãµÈ»ù´¡¼Ü¹¹·½ÃæµÄÔÆ·þÎñ£¬´Ó¶øÊ¹µÃ
OpenStack µÄ·¢Õ¹»ñµÃÁ˾޴óµÄÍÆ¶¯¡£
µ«¶ÔÓÚÕâÑùÒ»¸öÅÓ´óµÄ¼Ü¹¹£¬Äܹ»ÈÃÆäÎȶ¨¶øÓÖ¸ßЧµÄÔËתÆðÀ´Ò²²»ÊÇÒ»¼þÒ×Ê£¬Òò´ËÈçºÎʵÏÖÒ»¸öÇ¿´ó¡¢½¡È«¡¢¿ÉÀ©Õ¹µÄ
OpenStack ¼à¿ØÏµÍ³ Ò²³ÉΪµ±ÏºܶàÈ˹Ø×¢ OpenStack ʱËùÒª¿¼ÂǵÄÖØÒª²¿·Ö¡£
Óë´ËÍ¬Ê±Ëæ×Å OpenStack ÉϽڵãÊýÄ¿ºÍËùÐè¼à¿Ø¶ÔÏóµÄÊýÁ¿µÄÔö¼Ó£¬¼à¿ØÏµÍ³Ò²Ù²È»³ÉΪһ¸öÔÆÆ½Ì¨·Ç³£ÖØÒªµÄÌØÐÔ£¬Ò²ÊÇÆÀ¹ÀÒ»¸ö
OpenStack µÄ¿ÉÔËά³Ì¶ÈµÄ²Î¿¼¡£
Ê×ÏÈÎÒÃÇÏÈÀ´Á˽âϵ½µ×ʲôÊÇ OpenStack ÒÔ¼°ÆäÏà¹Ø¹¹³É¡£
ʲôÊÇ OpenStack
OpenStack ÊÇÒ»¸öÃÀ¹ú¹ú¼Òº½¿Õº½Ìì¾ÖºÍ Rackspace ºÏ×÷Ñз¢µÄ IaaS Èí¼þ£¬ÈÃÈκÎÈ˶¼¿ÉÒÔ×ÔÐн¨Á¢ºÍÌá¹©ÔÆ¶ËÔËËã·þÎñ¡£´ËÍ⣬OpenStack
Ò²ÓÃ×÷½¨Á¢·À»ðǽÄÚµÄ˽ÓÐÔÆ£¬Ìṩ»ú¹¹»òÆóÒµÄÚ¸÷²¿ÃʲÏí×ÊÔ´¡£
¼òµ¥À´Ëµ£¬OpenStack ¾ÍÊÇÒ»¸öÌṩ˽Óл¯²¿ÊðµÄ Amazon Web Services¡£¾Àú 5
ÄêµÄÅ·¢Õ¹£¬¼ÓÈë OpenStack ÕóÓªµÄÒѾ°üÀ¨ Google¡¢»ÝÆÕ¡¢IBM ºÍ Intel¡£
¶ÔÓÚ OpenStack À´Ëµ£¬Æä¼ÆËãÄ£¿é Nova ÊÇÕû¸öϵͳÖÐÖØÒªµÄ×é³É²¿·Ö
OpenStack Ä£¿é¹¹³É
¼ÈÈ»Ìáµ½ Nova £¬ÄÇô¾ÍÓбØÒªËµËµ OpenStack µÄÄ£¿é¹¹³É¡£OpenStack
ÓÉÒÔÏÂ6¸öÖØÒªÄ£¿é¹¹³É£º
1.Nova - ¼ÆËã·þÎñ
2.Keysyone - ÈÏÖ¤·þÎñ
3.Glance - ¾µÏñ·þÎñ
4.Neutron - ÐéÄâÍøÂç·þÎñ
5.Cinder - ´æ´¢·þÎñ
6.Horizon - UI ×é¼þ
×ܵÄÀ´Ëµ£¬OpenStack ¾ÍÏñ AWS ÌṩÐéÄâ¼ÆËãµ¥Ôª EC2£¬ÐéÄâ´æ´¢
S3£¬ÐéÄâÍø¶Î VPCµÈ¡£¶øÕâЩÏ໥¶ÀÁ¢µÄÄ£¿é×é³ÉÁËÒ»Ì×ÍêÕûµÄÔÆ¼ÆËã·þÎñƽ̨£»Èç¹û¼ÓÉÏÃæÏò¶ÔÏóµÄ´æ´¢ Swfit£¬×ÊÔ´¼à¿Ø
Ceilometer ºÍÔÆÏµÍ³²¿Êð Heat£¬ÄÇôÕâ¸öÔÆ¼ÆËã·þÎñƽ̨»á¸ü¼ÓÍêÕû¡£

ÏÂÃæÎÒÃÇÀ´½éÉÜÓë OpenStack ¼à¿Ø¹ØÏµ×î½ôÃÜµÄ 3 ¸öÄ£¿é£ºNova¡¢Keystone ºÍ Neutron£¬·½±ã´ó¼Ò¸üºÃµØÀí½âºÍ´î½¨
OpenStack ¼à¿ØÏµÍ³¡£
Nova
Nova ¹¦Äܼ°Ìص㣺
1.ʵÀýÉúÃüÖÜÆÚ¹ÜÀí
2.¼ÆËã×ÊÔ´¹ÜÀí
3.ÍøÂçÓëÊÚȨ¹ÜÀí
4.»ùÓÚ REST µÄ API
5.Òì²½Á¬ÐøÍ¨ÐÅ
6.Ö§³Ö¸÷ÖÖËÞÖ÷£ºXen¡¢XenServer/XCP¡¢KVM¡¢UML¡¢VMware
vSphere ¼° Hyper-V
»ùÓÚ Nova µÄ¹¦ÄÜ£¬ÔÚ½øÐÐ OpenStack ¼à¿ØÊ±¿ÉÒÔ¹Ø×¢ÒÔÏÂÊý¾Ý£º
1.openstack.nova.current_workload£ºµ±Ç°
Nova µÄ Workload£¬°üÀ¨ build, snapshot, migration, resize
¸÷ÖÖ¶¯×÷µÄ¸ºÔØ¡£
2.openstack.nova.running_vms£ºµ±Ç° Nova
ÔÚÔËÐеÄÐéÄâ»úºÍʵÀý£¨instance£©µÄÊýÁ¿¡£
3.openstack.nova.hypervisor_load.1:hypervisor
Ïà¹ØÖ¸±ê£»³ýÁËÒ»·ÖÖÓÄÚϵͳ¸ºÔØÍ⣬»¹°üÀ¨ disk, ram, cpu µÈÏà¹ØÖ¸±ê¡£
4.openstack.nova.limits.max_personality£ººÍ
project ºÍ×â»§Ïà¹ØµÄÖ¸±ê£»°üÀ¨³ý personality ÍâµÄ image, security
Ïà¹ØÖ¸±ê¡£
OpenStack ÄÚ²¿ÔÚ×ñÑ AMQP£¨¸ß¼¶ÏûÏ¢¶ÓÁÐÐÒ飩µÄ»ù´¡ÉÏ£¬»ùÓÚ
Rabbit MQ ×÷ΪÆäÏûÏ¢¶ÓÁнøÐÐͨÐÅ¡£Nova ¶ÔÇëÇóÓ¦´ð½øÐÐÒì²½µ÷Ó㬵±ÇëÇó½ÓÊÕºó±ãÔòÁ¢¼´´¥·¢Ò»¸ö»Øµ÷¡£ÓÉÓÚʹÓÃÁËÒ첽ͨÐÅ£¬²»»áÓÐÓû§µÄ¶¯×÷±»³¤ÖÃÓڵȴý״̬¡£ÀýÈ磬Æô¶¯Ò»¸öʵÀý»òÉÏ´«Ò»·Ý¾µÏñµÄ¹ý³Ì½ÏΪºÄʱ£¬APIµ÷Óþͽ«µÈ´ý·µ»Ø½á¹û¶ø²»Ó°ÏìÆäËü²Ù×÷£¬ÔÚ´ËÒ첽ͨÐÅÆðµ½Á˺ܴó×÷Óã¬Ê¹Õû¸öϵͳ±äµÃ¸ü¼Ó¸ßЧ¡£
Neutron & Keystone
Neutron Ϊ OpenStackÌṩÐéÄâÍøÂç¹ÜÀí·þÎñ£¬À´Ê¹µÃÍøÂçÅäÖøüΪ¼òµ¥¡£
Keystone ΪËùÓÐµÄ OpenStack×é¼þÌṩÈÏÖ¤ºÍ·ÃÎʲßÂÔ·þÎñ£¬ËüÒÀÀµ×ÔÉí REST£¨»ùÓÚ Identity
API£©ÏµÍ³½øÐй¤×÷£¬Ö÷Òª¶Ô£¨µ«²»ÏÞÓÚ£©Swift¡¢Glance¡¢Nova µÈ½øÐÐÈÏÖ¤ÓëÊÚȨ¡£ÊÂʵÉÏ£¬ÊÚȨͨ¹ý¶Ô¶¯×÷ÏûÏ¢À´Ô´ÕßÇëÇóµÄºÏ·¨ÐÔ½øÐмø¶¨¡£
ÕâЩ OpenStack Ö¸±êÖµµÃ¹Ø×¢
OpenStack ¸´Ôӳ̶ÈÈà Gartner ÔÚÃæ¶ÔÆóÒµ×Éѯ OpenStack ´î½¨Ë½ÓÐÔÆÊ±£¬»áѯÎÊ
3 ¸öÎÊÌ⣺
1.ÄãµÄÒµÎñÐèÒª´î½¨ÔÚÒ»¸ö IaaS ˽ÓÐÔÆÆ½Ì¨ÉÏÂð?
2.ÄãÓм¼ÊõºÍ×ÊÔ´À´Ö§³ÖÕâô¸´ÔÓµÄÏîÄ¿Âð?
3.Ïñ OpenStack ÕâÑùµÄ¿ªÔ´¿ò¼ÜºÏÊÊÄãµÄ¹¤×÷»·¾³Âð?
¿É¼û OpenStack ²¢²»ÊÇÒ»¸öºÜÈÝÒ×ÉÏÊֵŤ³Ì¡£ºÃÔÚ¹úÄÚ³öÏÖÁË OpenStack
ÖйúÉçÇø£¬ºÍ CloudinsightÕâÑùµÄ×éÖ¯£¬°ïÖúÆóÒµºÍ¿ª·¢Õ߸üºÃµØÊ¹Óà OpenStack¡£

ΪÁ˰ïÖúÄú¸üºÃµØ¼à¿ØOpenStack£¬ÒÔÏÂͨ¹ýÏà¹ØÌáÈ¡³öµÄÖ¸±êºÍͼÀý£¬¸æËßÄúÄÄЩָ±êÖµµÃ¹Ø×¢£¬´Ó¶ø¿ìËÙÉÏÊÖ
OpenStack ¼à¿Ø¡£
ÈçÉÏÎÄËùÊö£¬¶ÔÓÚ OpenStack À´ËµÒÔϼ¸ÀàÖ¸±êµÄ¼à¿ØÊÇÐèÒª¹Ø×¢µÄ£º
1.Hypervisor Ö¸±ê - ÔËÐеÄÐéÄâ»úÊýÁ¿£¬hypervisor
×ÔÉí¸ºÔØµÈ£»
2.Nova Server Ö¸±ê - ´ÅÅ̵ĶÁдËÙÂÊ£¬RAM Ïà¹ØÖ¸±êµÈ£»
3.Tenant Ö¸±ê - ×ÊԴʹÓÃÇé¿ö£¬CPU ºËÊýµÈ£»
4.Message Queue Ö¸±ê - MQ µÄ´óСµÈ

Nova ÒÔ¹ÜÀíÆ½Ì¨µÄÉí·ÝµÇ³¡£¬¸ºÔð¹ÜÀíÕû¸öÔÆµÄ¼ÆËã×ÊÔ´¡¢ÍøÂç¡¢ÊÚȨ¼°²â¶È¡£ËüÔÉúÖ§³Ö KVM, QEMU
ËÞÖ÷£¬Ò²Ìṩ Xen, VMware vSphere ¼° Hyper-V µÄÖ§³Ö¡£Nova ¼æÈÝ AWS
µÄ EC2 ºÍ S3 API£¬¾ÍÏñ AWS ͨ¹ý Nova ÎÒÃÇ¿ÉÒÔ·½±ãµØÒÆÖ²Ó¦Ó㬼õÉÙÓ¦ÓõIJ¿Êðʱ¼ä¡£

Nova Ö¸±ê¾Í°üÀ¨ÁË Hypervisor, Nova Server, Tenant Ö¸±ê¡£Í¨¹ý Hypervisor
Ö¸±ê¿ÉÒÔÁ˽⵽ϵͳµÄÕûÌåÔËÐÐÇé¿öºÍ¸ºÔØ£¬¶ø Nova Server Ö¸±ê¿ÉÒÔÁ˽âij¸öÐéÄâ»úµÄÔËÐÐÇé¿ö£¬Tenant
Ö¸±êÔòÊÇ¿ÉÒԲ鿴Ïà¹Ø×â»§µÄ×ÊԴʹÓÃÇé¿ö¡£
Hypervisor Ö¸±ê

ΪÁË·½±ã¸ü¼Ó·½±ãÀí½â£¬ÔÚ´ËÎÒÃÇÌáÈ¡ÁËÒÔÏ 7 ¸öÖ¸±ê£¬À´²é¿´ Hypervisor µÄÐÔÄÜ¡£ÓÉÉÏͼ¿ÉÖª£¬Hypervisor
Ö÷µ¼ Nova Ä£¿éÖÐÓë¼ÆËãÏà¹ØµÄ²¿·Ö¡£

hypervisor_load - ¸ÃÖ¸±ê±íÕ÷ϵͳ¸ºÔØ£¬ÓеãÀàËÆ²Ù×÷ϵͳµÄsystem.load.1
Ö¸±ê£¬±êʶ¹ýÈ¥ 1 ·ÖÖÓÄÚϵͳ¸ºÔØ¡£Èç¹ûϵͳ¸ºÔØÉÏÉý£¬Ò»°ãÀ´ËµÏà¹ØµÄÐéÄâ»úµÄÖ¸±êÒ²»áÉÏÉý£¬´ËʱÐèÒªÕë¶ÔÐÔÄܽøÐÐÓÅ»¯¡£
current_workload - Ò»°ãÀ´Ëµ£¬hypervisor ÈÎÎñ°üÀ¨£ºbuild, snapshot,
migrate, resize£»¸ÃÖ¸±êÏÔʾµ±Ç°ÈÎÎñÊýÁ¿£¬ÓÉÓÚ hypervisor ºÍÐéÄâ»ú¹²Óà IO
×ÊÔ´£¬Èôµ±Ç°ÈÎÎñÈÎÎñÊýÁ¿¹ý¸ß£¬Ò»°ãÀ´Ëµ»áµ¼Ö IO Æ¿¾±ÎÊÌâ¡£
running_vms - µ±Ç°ÔËÐеÄÐéÄâ»úÊýÁ¿¡£Í¨¹ýÊý¾Ý¾ÛºÏ¹¦ÄÜ£¬Äú¿ÉÒÔÁ˽âÕû¸öƽ̨µÄÐéÄâ»úÊýÁ¿£¬¼ÓÉÏϵͳ¸ºÔغÍÈÎÎñÊýÁ¿£¬Äú¿ÉÒÔÁ˽⵽
OpenStack ÕûÌåµÄÔËÐÐÇé¿ö¡£

vcpus_available- µ±Ç° CPU ʹÓÃÇé¿öÔÚÉú²ú»·¾³ÏÂÒ»°ãÊDZ£³Ö²»±äµÄ¡£Äú¿ÉÒÔͨ¹ýÉèÖøÃÖ¸±êµÄ±¨¾¯£¬À´¼à¿Ø¸ÃÖ¸±êµÄ±ä»¯£¬´Ó¶øÔ¤²âÒì³£¡£¶øÔÚ¿ª·¢»·¾³ÖУ¬¸ÃÖ¸±êÎÞÏÔÖøµÄ¼à¿ØÒâÒå¡£Ô½¸ßµÄ
CPU ÊýÁ¿´ú±íÄúÓÐÔ½¶àµÄ×ÊÔ´Ìṩ¸øÓÃÓÚ¼ÆËãµÄÖ÷»ú£¬Èô¸ÃÖ¸±ê³öÏÖ¶¸È»½µµÍµÄÇé¿ö£¬ÄÇ´ú±íÄúÐèÒªÔöÉè»úÆ÷ÁË¡£

free_disk_gb - ´ÅÅ̵ĿÕÏÐÇé¿ö£¬Ö±½ÓÓ°ÏìÊÇ·ñ¿ÉÒÔн¨ÐéÄâ»ú¡£¹Ø×¢¸ÃÖ¸±ê¿ÉÒÔÁ˽⵽ºÎʱÐèÒª¶ÔÕ¼ÓôÅÅ̿ռä½Ï´óµÄʵÀý½øÐÐÇ¨ÒÆ¡£
free_ram_mb - ºÍ´ÅÅ̵ĿÕÏÐÇé¿öÏàËÆ£¬RAM µÄ¿ÕÏÐÇé¿öÒ²ÊÇÒ»¸ö·Ç³£ÖµµÃ¹Ø×¢µÄÇé¿ö£¬ÊôÓڹؼü×ÊÔ´¡£
Nova Server Ö¸±ê
¹Ø×¢ Nova Server Ö¸±ê¿ÉÒÔÁ˽âÖ÷Òª½ÚµãµÄÐÅÏ¢£¬Èçÿ¸ö½ÚµãÏò Nova ·¢ËÍÇëÇóµÄÊýÁ¿£¬´Ó¶øÔ¤²âÊÇ·ñ´æÔÚ
Noisy Neighbor Problem¡£
ÈôÏëÒªÁ˽âÿ¸öʵÀý£¨ÐéÄâ»ú£©µÄ¾ßÌåÖ¸±ê£¬Èç CPU ÀûÓÃÂÊ¡¢ÄÚ´æ¡¢ÍøÂçµÈÖ¸±ê£¬Äú¿ÉÒÔʹÓÃ
Cloudinsight »ò Zabbix ÀàµÄ¼à¿Ø¹¤¾ß½«Æä Agent °²×°ÖÁÿ¸öÐéÄâ»úÄÚ²¿¡£Í¨¹ý±êÇ©À´½øÐÐÊý¾Ý¾ÛºÏºÍ·Ö×飬¿ÉÒÔ´ïµ½¸üרҵ»¯µÄ¼à¿Ø³Ì¶È¡£

hdd_read_req - ÔÚÐéÄâ»·¾³ÖУ¬Ã¿¸ö½ø³ÌµÄ RAM ʹÓÃÁ¿ÊÇÊ®·ÖÓÐÏ޵ġ£²é¿´ HDD µÄ¶ÁÇëÇóÊýÁ¿£¬¾ÍÒâζ×Å¼à¿Ø
Nova ½ÚµãµÄÐéÄâ»úµÄ»ù±¾ÐÔÄÜ¡£¾ÙÀýÀ´Ëµ£¬Èô¸ÃÖ¸±ê³öÏÖ·åÖµ£¬¾ÍÒâζ×ÅÐéÄâ»úµÄ RAM ̫СÁË£¬´Ó¶øµ¼Ö½ÏСµÄ·ÖÒ³£¬¼Ì¶øÊ¹µÃ¶Ô
HDD µÄ¶ÁÇëÇóÊýÁ¿¼¤Ôö¡£´ËʱÄú¾ÍÐèÒª¶Ô Nova ¼¯Èº½øÐÐÐÔÄÜÅŲéÀ²¡£
Tenant Ö¸±ê
Tenant Õâ¸ö¸ÅÄîÔÚÒ»Äêǰ±»ÌÖÂÛµÃÂù»ðµÄ£¬ÌرðÊǹúÄÚ SaaS ³§ÉÌÐËÆðÁËÒÔºó¡£×â»§¼òµ¥À´Ëµ£¬¾ÍÊÇÒ»×éÓû§À²¡£¸ø²»Í¬×éµÄÓû§·ÖÅä²»Ò»ÑùµÄ×ÊÔ´£¬¿ÉÒÔ´ïµ½×ÊÔ´µÄºÏÀí·ÖÅ䣬´Ó¶ø´ïµ½ÀûÒæµÄ×î´ó»¯¡£
¼à¿Ø×â»§Ïà¹ØÖ¸±ê£¬Ò²¾ÍÒâζ×ÅÔÚ¼à¿ØÓëÒµÎñÏà¹ØµÄÖ¸±ê¡£

total_cores_used & max_total_cores - Core ×÷ÎªÖØÒªµÄ×ÊÔ´£¬Á˽âÆäʹÓÃÇé¿ö£¬À´¸¨Öú¾ö²ßÊÇ·ñÐèÒªÔÚ¼¤ÔöµÄÇé¿öÏ£¬¶à·ÖÅä×ÊÔ´£»ÊÇ·ñÐèÒªÔÚ³ÖÐø½ÏµÍʹÓÃÂʵÄÇé¿öÏ£¬¼õÉÙ×ÊÔ´·ÖÅä¡£
total_instances_used & max_total_instances - Instance
ÊýÁ¿Ò²¾ÍÊÇÐéÄâ»úÊýÁ¿£¬ºÍ core Ò»ÑùÊÇÖØÒªµÄ×ÊÔ´¡£¼à¿Ø×â»§µÄµ±Ç°Ê¹ÓÃÁ¿£¬ºÍ×î´ó·ÖÅäÁ¿£¬¿ÉÒÔ°ïÖú¾ö²ßÊÇ·ñÐèҪΪ¸Ã×â»§ÔöÌí×ÊÔ´¡£
RabbitMQÖ¸±ê

RabbitMQÖ¸±êÓÖÊÇÊ²Ã´ÄØ£¿ÕýÈçÉÏÎÄËù˵£¬OpenStack ÄÚ²¿ÔÚ×ñÑ AMQP£¨¸ß¼¶ÏûÏ¢¶ÓÁÐÐÒ飩µÄ»ù´¡ÉÏ£¬»ùÓÚ
Rabbit MQ ×÷ΪÆäÏûÏ¢¶ÓÁнøÐÐͨÐÅ¡£
Ò²¾ÍÊÇ˵£¬¼à¿Ø RabbitMQ Ö¸±êÒâζ×Å¼à¿Ø OpenStack »·¾³µÄÕûÌåÇé¿ö£¬±Ï¾¹Í¨Ñ¶ÓëÖжϻ¹ÊÇÂùÖØÒªµÄÒ»¼þÊÂÇéµÄÀ²¡£

consumer_utilisation - ÀíÏëÇé¿öÏ£¬¸ÃÖ¸±ê±£³ÖÔÚ 100% ÊýÖµÏÂÊÇ×îºÃµÄ£¬ÕâÒâζ×Åÿ¸ö¶ÓÁж¼¿ÉÒÔ¼°Ê±µØ´¦ÀíÐÂÏûÏ¢¡£ÍøÂçÓµ¶ÂºÍ
Comsumer Prefetch ¶¼»á½µµÍ¸ÃÖ¸±êµÄÊýÖµ¡£SO SAD£¡

memory - ºÍ´ó¶àÊý MQ Ò»Ñù£¬RabbitMQ »áÔÚÄÚ´æ²»¹»ÓõÄÇé¿öϵ÷ÓôÅÅÌ¡£¼ÓÉÏ´ÅÅÌ·ÖÒ³¶øµ¼ÖµÄÍÌÍÂÁ¿Ôö¼Ó£¬ºÜÈÝÒ×ʹµÃÄÚ´æÊ¹ÓÃÁ¿³¬¹ýϵͳ
RAM µÄ 40%£¨Ä¬ÈÏÖµ£©£¬RabbitMQ »áÓÅÏȶÔÏûÏ¢Éú²úÕß½øÐнÚÁ÷¡£Duang£¡ÐÔÄÜÎÊÌâ¾Í²úÉúÁË¡£
count - ½¨ÒéΪ¸ÃÖ¸±êÉèÖÃÖ¸±ê±¨¾¯²ßÂÔ£¬µ±ÊýֵΪ 0 ʱ£¬´¥·¢±¨¾¯¡£±Ï¾¹ÓÐЧ¶ÓÁеÄÊýÁ¿ÊÇ 0£¬ÄÇÊÇÏ൱¿ÉŵÄÊÂÇéÄØ¡£
consumers - ºÍ count Ò»Ñù£¬ÉèÖøö±¨¾¯±È½ÏºÃ¡£¸ÃÖ¸±êΪ 0 ÊÇÒ»¼þÓÌÈç·üµØÄ§ÖØÉúµÄÊÂÇé¡£ÈôÄú²»ÐÒÓöµ½¸ÃÇé¿ö£¬ÎÒÃÇÍÆ¼öÒÔÏÂÁ½ÖÖ·½Ê½£ºAliveness
Testing ºÍStackTach ¹¤¾ß¡£
|