PGµç¾º

  • ±¾Õ¾µãʹÓÃCookies£¬¼ÌÐøä¯ÀÀ±íʾÄúͬÒâÎÒÃÇʹÓÃCookies¡£ CookiesºÍÒþ˽Õþ²ß>

    ¼òÌåÖÐÎÄ
    English
    Ê×Ò³ > ¹ØÓÚÎÒÃÇ > ÐÂÎÅÖÐÐÄ > ¡¾¿ª·¢Õß˵¡¿ÔÆÂÍKeyarchOSϵͳÔËά¹¤¾ß£¬ÈÃÔËά»Ø¹é¼òµ¥£¡

    ¡¾¿ª·¢Õß˵¡¿ÔÆÂÍKeyarchOSϵͳÔËά¹¤¾ß£¬ÈÃÔËά»Ø¹é¼òµ¥£¡

    2024-01-05

    ¡¾¿ª·¢Õß˵¡¿×¨À¸ÊÇΪ¿ª·¢ÕßÌá¹©ÔÆÂÍKeyarchOSʹÓúÍÌåÑé·ÖÏíÆ½Ì¨£¬±¾ÆÚ´øÀ´CSDNÖªÃû²©Ö÷¡°Ð¡ÍþÒªÏòÖîÀÐѧϰѽ¡±Ê¹ÓÃϵͳÒì³£¶¨Î»·ÖÎö¹¤¾ßKSysAK½øÐÐÄÚºËÄÚ´æÐ¹Â©¼ì²âµÄʹÓÃÌåÑé¡£

    1.png

    1 »ù±¾ÐÅÏ¢

    1.1 ¸ÅÊö

    ϵͳÒì³£¶¨Î»·ÖÎö¹¤¾ßKSysAKÊÇÔÆÂͲÙ×÷ϵͳÑз¢¼°ÔËάÈËÔ±×ܽῪ·¢¼°ÔËά¾­Ñ飬ÔÚÁúòáÉçÇø¿ªÔ´ÏîÄ¿SysAKµÄ»ù´¡ÉÏ£¬Éè¼ÆºÍÑз¢µÄ¶à¸öÔËά¹¤¾ßµÄ¼¯ºÏ£¬¿ÉÒÔ¸²¸ÇϵͳµÄÈÕ³£¼à¿Ø¡¢ÏßÉÏÎÊÌâÕï¶ÏºÍϵͳ¹ÊÕÏÐÞ¸´µÈ³£¼ûÔËά³¡¾°¡£¹¤¾ßµÄÕûÌåÉè¼ÆÉÏ£¬Á¦Í¼ÈÃÔËά¹¤×÷»Ø¹é¼òµ¥£¬ÈÃϵͳÔËάÈËÔ±²»ÐèÒªÉîÈëÁ˽âÄں˾ÍÄÜÕÒ³öÎÊÌâµÄËùÔÚ¡£

    2.png

    ϵͳÔËά¹¤¾ß°´¹¦ÄÜ»®·Ö¿É·ÖΪ¼à¿ØºÍÕï¶Ïģʽ£º

    ϵͳ¼à¿Ø£ºÕë¶Ô¸÷ÖÖϵͳ×ÊÔ´£¨CPU¡¢ÄÚ´æ¡¢ÍøÂç¡¢ÎļþIO¡¢Äں˹ÜÀí½á¹¹µÈ£©Ìṩ¸ü¾«Ï¸»¯µÄ×ÊÔ´¼à¿Ø£¬°ïÖúÒµÎñÔËάʵÏÖϸÁ£¶ÈµÄÔËάµ÷¶È£¬¸ßЧÔËÓÃ×ÊÔ´¡£

    ϵͳÕï¶Ï£ºÕï¶ÏµÄµäÐÍÎÊÌâÈç¸ºÔØÒì³£¡¢ÍøÂç¶¶¶¯¡¢ÄÚ´æÐ¹Â©¡¢IOë´Ì¡¢ÐÔÄÜÆ¿¾±¡¢Ó¦ÓÃÒì³£µÈ£¬Õë¶ÔÐÔµÄÌṩ¹¤¾ß£¬Í¬Ê±¾¡Á¿¼õÉÙ¹¤¾ßµÄרҵÐÔ£¬ÈÃÓû§¸üÒ×ʹÓúͽâ¶Á¡£

    ¶øÎªÁËʵÏÖÒÔÉϹ¦ÄÜ£¬²¢Äܹ»ÎªÓû§Ìṩ¼òµ¥Ò×ÓòÙ×÷½çÃæ£¬ÏµÍ³ÔËά¹¤¾ßKSysAKÌṩÁ˶à¸ö×Ó¹¤¾ß£¬×ÅÖØ½â¾ö²»Í¬³¡¾°ÏÂµÄ¼à¿ØÊý¾ÝµÄ²É¼¯¡¢Í³¼Æ¼°Êý¾ÝÕï¶Ï¡£

    1.2 »·¾³Ïê½â

    IPµØÖ·£º100.2.93.X

    ¼Ü¹¹£ºx86_64

    ÀàÐÍ£ºÐéÄâ»ú

    ²Ù×÷ϵͳ°æ±¾£ºKOS5.8-sp1

    Äں˰汾£º4.19.91-27.4.7.kos5.x86_64

    KSysAK°æ±¾£º1.3.0

    Óû§Ãû£ºroot

    1.3 ¹¤¾ß

    3.png

    2 LinuxÄÚºËÄÚ´æÐ¹Â©¼ì²â

    ÄÚºËÄÚ´æÐ¹Â©ÊÇÖ¸ÔÚLinuxϵͳÖУ¬ÓÉÓÚ´úÂëÖеĴíÎó»òȱÏÝ£¬·ÖÅ䏸Äں˵ÄÄÚ´æÎ´Äܱ»ÕýÈ·ÊͷŶøµ¼ÖµÄÎÊÌâ¡£Õâ¿ÉÄܻᵼÖÂϵͳÐÔÄÜϽµ£¬×îÖպľ¡ÏµÍ³µÄ¿ÉÓÃÄڴ棬ÉõÖÁµ¼ÖÂϵͳ±ÀÀ£¡£

    ÏÂÃæÎÒ½«½éÉÜһЩÔÚLinuxϵͳÖмì²âºÍ½â¾öÄÚºËÄÚ´æÐ¹Â©µÄ·½·¨£º

    LinuxÄÚºËÄÚ´æ·ÖÅäÓм¸ÖÖ²»Í¬µÄ»úÖÆ£¬ÆäÖаüÀ¨slab¡¢pageºÍvmalloc¡£

    KSysAK memleakÄÚ´æÐ¹Â¶¼ì²â¹¤¾ß²½Ö裺

    1¡¢¼¯³Éµ½ÏîÄ¿ÖÐ

    ½«KSysAK memleakµÄÄÚ´æÐ¹Â©¼ì²â´úÂ뼯³Éµ½ÐèÒª¼ì²âµÄÏîÄ¿ÖС£Õâͨ³£Éæ¼°½«¼ì²â´úÂë²åÈëµ½ÏîÄ¿µÄÊʵ±Î»Öã¬ÒÔÈ·±£Äܹ»×¼È·×·×ÙÄÚ´æ·ÖÅäºÍÊÍ·ÅÇé¿ö¡£

    2¡¢±àÒëºÍÔËÐÐÏîÄ¿

    ʹÓÃÊʵ±µÄ±àÒëÑ¡Ïî±àÒëÏîÄ¿£¬²¢È·±£ÏîÄ¿³É¹¦±àÒ롣ȻºóÔËÐÐÏîÄ¿£¬ÈÃÆäÕý³£Ö´ÐÐһϵÁвÙ×÷£¬°üÀ¨ÄÚ´æµÄÉêÇëºÍÊÍ·Å¡£

    3¡¢ÊÕ¼¯ÄÚ´æÐ¹Â©Êý¾Ý

    ÔÚÏîÄ¿ÔËÐÐÆÚ¼ä£¬KSysAK memleak½«¼Ç¼ÄÚ´æ·ÖÅäºÍÊͷŵÄÏêϸÐÅÏ¢¡£ÕâЩÊý¾Ý°üÀ¨Ã¿´ÎÄÚ´æ·ÖÅäµÄµ÷ÓöÑÕ»¡¢·ÖÅä´óС¡¢·ÖÅäλÖõȡ£ÊÕ¼¯ÕâЩÊý¾ÝÓÃÓÚºóÐøµÄÄÚ´æÐ¹Â©·ÖÎö¡£

    4¡¢·ÖÎöÄÚ´æÐ¹Â©Êý¾Ý

    ʹÓÃKSysAK memleakÌṩµÄ·ÖÎö¹¤¾ß£¬¶ÔÊÕ¼¯µ½µÄÄÚ´æÐ¹Â©Êý¾Ý½øÐзÖÎö¡£Õâ¿ÉÒÔ°ïÖúʶ±ðDZÔÚµÄÄÚ´æÐ¹Â©Ô´Í·¡¢ÄÚ´æÐ¹Â©µÄ´óСÒÔ¼°Ð¹Â©·¢ÉúµÄλÖá£Í¨¹ýÕâЩÐÅÏ¢£¬¿ª·¢ÈËÔ±¿ÉÒÔ׼ȷµØ¶¨Î»ÎÊÌâ²¢²ÉÈ¡ÏàÓ¦µÄÐÞ¸´´ëÊ©¡£

    5¡¢ÐÞ¸´ÄÚ´æÐ¹Â©

    Ò»µ©Í¨¹ý·ÖÎö¹¤¾ßÈ·¶¨ÁËÄÚ´æÐ¹Â©µÄλÖúÍÔ­Òò£¬¿ª·¢ÈËÔ±¾Í¿ÉÒÔÐÞ¸´ÕâЩÎÊÌâ¡£ÐÞ¸´¿ÉÄÜÉæ¼°Ð޸ĴúÂëÒÔÈ·±£ÕýÈ·ÊÍ·ÅÄÚ´æ¡¢ÐÞ¸´ÄÚ´æ¹ÜÀíÂß¼­µÄ´íÎóµÈ¡£ÔÚÐÞ¸´ºó£¬¿ÉÒÔÖØÐÂÔËÐÐÏîÄ¿²¢Ê¹ÓÃKSysAK memleak½øÐÐÑéÖ¤£¬È·±£ÄÚ´æÐ¹Â©ÎÊÌâÒѵõ½½â¾ö¡£

    ÐèҪעÒâµÄÊÇ£¬KSysAK memleakÊÇÒ»ÖÖ»ùÓÚºêµ÷ÓõÄÄÚ´æÐ¹Â©¼ì²â¹¤¾ß£¬Ëü¿ÉÄÜ»á¶ÔÏîÄ¿ÐÔÄܲúÉúÒ»¶¨µÄÓ°Ïì¡£Òò´Ë£¬ÔÚʹÓÃKSysAK memleak½øÐÐÄÚ´æÐ¹Â©¼ì²âʱ£¬½¨Òé½öÔÚ¿ª·¢ºÍµ÷ÊÔ½×¶ÎʹÓ㬲¢ÔÚÍê³ÉÄÚ´æÐ¹Â©ÐÞ¸´ºó½«Æä´ÓÏîÄ¿ÖÐÒÆ³ý£¬ÒÔÈ·±£ÏîÄ¿µÄÐÔÄܺÍÎȶ¨ÐÔ²»ÊÜÓ°Ïì¡£

    2.1 pageÄÚ´æÐ¹Â¶¼ì²â

    Ö´ÐÐksysak memleak -t page -i 80Æô¶¯¼ì²âpageÄÚ´æÐ¹Â¶³ÌÐò£¬ÔËÐÐ80s(ÈôÀ´²»¼°Ö´Ðмì²â³ÌÐòÔò¿ÉÒÔÑÓ³¤Ê±¼ä)

    4.png

    5.png

    6.png

    2.2 slabÄÚ´æÐ¹Â¶¼ì²â

    Ö´ÐÐ slabtop ÃüÁîÒԲ鿴µ±Ç°ÏµÍ³µÄ Slab ʹÓÃÇé¿ö¡£

    Ö´ÐÐ cat /proc/slabinfo ÃüÁ»ñÈ¡¸üÏêϸµÄ Slab »º´æÐÅÏ¢¡£

    ʹÓÃperf¹¤¾ß¸ú×ÙÄÚºËÖÐµÄ Slab ·ÖÅäºÍÊͷŲÙ×÷¡£

    Ö´ÐÐksysak memleak -t slab -i 80¼ì²âÆô¶¯slabÄÚ´æÐ¹Â¶¼ì²â³ÌÐò,ÔËÐÐ80s£¨ÈôÀ´²»¼°Ö´Ðмì²â³ÌÐòÔò¿ÉÒÔÑÓ³¤Ê±¼ä£©¡£

    7.png

    8.png

    9.png

    Æäϵͳ»ù±¾ÐÅÏ¢ÈçÏ£¬¿ÉÒÔ¿´µ½µ±Ç°ÏµÍ³Îª CentOS Linux 7¡£

    10.png

    3 OS Òì³£·ÖÎö

    OSÒì³£·ÖÎöÊDzÙ×÷ϵͳÖеÄÒ»ÖÖÖØÒª¼¼Êõ£¬ÓÃÓÚ´¦ÀíÔÚ³ÌÐòÔËÐйý³ÌÖз¢ÉúµÄÒì³£Çé¿ö¡£µ±³ÌÐòÖ´ÐÐʱÓöµ½Ä³Ð©ÎÞ·¨´¦ÀíµÄ´íÎó»òÌØÊâÇé¿öʱ£¬²Ù×÷ϵͳ»áͨ¹ýÒì³£´¦Àí»úÖÆÀ´ÏìÓ¦£¬ÒÔ±£»¤ÏµÍ³µÄÎȶ¨ÐԺͰ²È«ÐÔ¡£

    3.1 ÏµÍ³Ñ²²é

    Ö´ÐÐ#ksysak ossre_client -d ¿ÉɨÃèÈÕÖ¾Îļþ²é¿´ÏµÍ³ÔËÐйý³ÌÖеÄËùÓÐÒì³£ÐÅÏ¢¡£

    11.png

    4 ¼ì²âϵͳÖÐÑÓ³Ù¶¶¶¯

    ·þÎñPGµç¾º¹ÙÍø²Ù×÷ϵͳÔËÐйý³ÌÖУ¬¶ÔÓ¦ÓÃÔËÐеĸÉÈÅÔ´¿ÉÄÜ»áºÜ¶à£¬µ«¸ÉÈŲ»Ò»¶¨»á¶ÔÒµÎñÔì³ÉÓ°Ï죬ËùÒÔÖÁÉÙÐèÒª°üº¬ÕâЩ¸ÉÈÅÔ´µÄƵÂʺÍÔËÐÐʱ¼ä£¬À´ÆÀ¹ÀÊÇ·ñÊǹؼüÒòËØ¡£

    ÖÁÉÙÐèÒª°üÀ¨ÒÔϸÉÈÅÔ´µÄͳ¼Æ£º

    É豸Ӳ¼þÖжÏ£ºÈç¹ûÔÚÒµÎñÔËÐйý³ÌÖУ¬Ä³Ò»ÀàÖÐ¶ÏÆµÂʹý¸ß»òÕß¼¯Öе½Ä³¸ö cpu£¬»òÕßµ¥´ÎÔËÐйý³¤£¬ÄÇô¶¼¿ÉÄÜ»áÓ°Ïìµ½ÒµÎñµÄÐÔÄÜ£¬¿ÉÒÔ¶ÔÖжϽøÐдòÉ¢°ó¶¨µÈ²Ù×÷¹Û²ìЧ¹û¡£

    ϵͳ¶¨Ê±ÖжϣºÏµÍ³¶¨Ê±PGµç¾º¹ÙÍø¹ý¶à£¬Ò²¿ÉÄÜ»á¶ÔÒµÎñµÄ»½ÐÑÔì³ÉÑÓ³Ù£¬Í¨³£¿ÉÒÔ·ÖÎöÒµÎñ½ø³ÌÊÇ·ñÓдóÁ¿µÄʹÓø߾«¶È¶¨Ê±PGµç¾º¹ÙÍø¡£

    ÈíÖжϣº¿ÉÄÜÊÇÍøÂçÁ÷Á¿ÊÇ·ñÓÐÍ»·¢Ôö¼ÓµÈ¡£

    Runlatency ×÷ΪϵͳÔËά¹¤¾ßKSysAKµÄÒ»¸ö×Ó¹¤¾ß£¬ÓÃÓÚÕï¶ÏϵͳÖпÉÄÜÓ°ÏìÓ¦ÓÃÔËÐÐÑÓ³Ù¶¶¶¯µÄµØ·½²¢Êä³öÑÓ³ÙÒòËØ¡£ÆäÄÚºËÖÐ¼à¿ØÓ°Ïì½ø³Ìµ÷¶ÈµÄÑÓʱÒòËØ£¨¹ØÖжÏ¡¢³¤Ê±¼ä²»µ÷¶È¡¢ÔËÐжÓÁг¤£©¡£¿É¼à¿ØÕû¸öϵͳ»òµ¥¸ö½ø³ÌµÄÖжϺ͵÷¶ÈÐÅÏ¢£¬¼à¿ØµÄÊý¾Ý°üÀ¨£º

    ½ø³Ì/Ï̵߳÷¶ÈÑÓ³Ù£º±ÈÈçÔËÐжÓÁм·Ñ¹¡¢ÅŶÓʱ¼ä¹ý³¤ÒÔ¼°¸ßÓÅÏȼ¶Ó¦ÓÃÇÀÕ¼»ò±¾Éíµ÷¶È²ßÂÔÉèÖò»ºÏÀí¡£

    ÖжϺÍÈíÖжÏÏìÓ¦²»¼°Ê±£ºÒµÎñÔËÐйý³Ì»áÒÀÀµÓÚÖжϺÍÈíÖжÏÖ´Ðйý³Ì£¬°üÀ¨ÍøÂçÊÕ·¢°ü¡¢IO ¶ÁдµÈ¡£Òò´Ë¿ÉÒÔ·ÖÎö¹ØÖжÏʱ³¤À´ÅжÏÖжϵÄÏìӦʱ¼ä¡£

    ÄÚºËִ̬Ðйý³¤£º°üÀ¨ÏµÍ³±¾Éí´æÔ򵀮¿¾±ÒÔ¼°ÄÚºËÀïÆäËû×ÊÔ´¾ºÕùµÈÇé¿ö¡£

    4.1 ÏµÍ³Ñ²²é

    Ö´ÐÐϵͳÑÓ³Ù¶¶¶¯Ä£Äâ³ÌÐò testrunlatency.python (ÔÚ/root)

    12.png

    Ö´ÐÐksysak runlatency -e Æô¶¯ÑÓ³Ù¶¶¶¯¼à¿Ø

    13.png

    Ö´ÐÐ ksysak runlatency -r ./out , ½«¼à¿ØÊý¾ÝÊä³öµ½outĿ¼ÏÂ

    14.png

    Ö´ÐÐksysak runlatency -d ¹Ø±Õ¼à¿Ø

    15.png

    ²é¿´outĿ¼ÏµÄÊä³ö½á¹ûÈçÏ£º

    16.png

    nosch£¬ hard£¬ soft ÀàÐ͵ÄÑÓ³ÙÐÅÏ¢£¬ËùÊôCPU£¬½ø³Ìid£¬ÑÓʱʱ¼ä£¬ ÃüÁîÐУ¬¶ÑÕ»ÐÅÏ¢µÈ¡£

    ʹÓÃcurlÓÃÓÚ²âÊÔWebÓ¦ÓõÄÏìÓ¦ºÍʱ¼ä£¬½ÏСµÄÑÓ³Ùʱ¼äͨ³£±íʾϵͳ»ò·þÎñÄܹ»¸ü¿ìµØÏìÓ¦Óû§µÄÇëÇó

    17.png

    5 ²úÆ·×ܽá

    KSysAKÊÇÒ»¿î¶à¸öÔËά¹¤¾ß¼¯ºÏµÄ¡°½á¾§¡±£¬Ëü¿ÉÒÔ´ó´óÌá¸ßÔËάÈËÔ±µÄ¹¤×÷ЧÂÊ£¬ÆäÖ÷Òª¹¦ÄÜÊÇϵͳµÄÈÕ³£¼à¿Ø¡¢ÏßÉÏÎÊÌâµÄÕï¶ÏºÍϵͳ¹ÊÕÏÐÞ¸´£¬¶ÔÓÚϵͳµÄ¼ì²â·Ç³£µÄÏêϸ£¬¸Ã²úÆ·µÄÖ÷ÒªÌØµãÊǸ²¸ÇÃæ¹ã£¬Ê¹Óò»ÊÜÏÞ£¬Õâ´ó´óÌåÏÖÁ˲úÆ·µÄʵÓú͹㷺ÐÔ,ÈÃÔËά¹¤×÷»Ø¹é¼òµ¥£¬ÈÃϵͳÔËάÈËÔ±²»ÐèÒªÉîÈëÁ˽âÄں˾ÍÄÜÕÒ³öÎÊÌâµÄËùÔÚ£¬·Ç³£·½±ã£¡

    ×ÜÌåÀ´Ëµ£¬²»¹ÜÊǶÔÓû§¸öÈË»¹ÊÇÔڸڵŤ×÷ÈËÔ±£¬Õâ¿î¹¤¾ßÒ»¶¨Êǵ±Ö®ÎÞÀ¢µÄ£¬µ«ÊÇÔÚijЩ·½Ã滹ÊÇ¿ÉÒÔÔÙÓÅ»¯µÄ£¬ÀýÈ磺

    ¿ÉÒÔÔöÇ¿¶¨ÖÆ»¯£º¹¤¾ßÓ¦¸ÃÔÊÐíÓû§¸üϸÁ£¶ÈµØ¶¨ÖÆÄ£Äâй©µÄ³¡¾°¡£±ÈÈ磬Óû§Ó¦¸ÃÄܹ»Ö¸¶¨Ð¹Â©µÄ´óС¡¢ËÙ¶È¡¢ÒÔ¼°Ð¹Â©·¢ÉúµÄλÖá£

    ÏêϸµÄ±¨¸æ£º¹¤¾ßÓ¦¸ÃÉú³ÉÏêϸÇÒÒ×ÓÚÀí½âµÄ±¨¸æ£¬ÒÔ°ïÖúÓû§Ê¶±ðºÍ½â¾öÄÚ´æÐ¹Â©ÎÊÌâ¡£±¨¸æÓ¦¸Ã°üÀ¨Ð¹Â©µÄ´óС¡¢Î»Öá¢ÒÔ¼°¿ÉÄܵĽâ¾ö·½°¸¡£

    ʵʱ¼ì²âºÍ¾¯±¨£º¹¤¾ßÓ¦¸ÃÄÜʵʱ¼à²âÄÚ´æÐ¹Â¶£¬²¢ÔÚ·¢ÏÖDZÔÚÎÊÌâʱÏòÓû§·¢³ö¾¯±¨£¬ÕâÑùÓÐÖúÓÚÔÚÎÊÌâÑÏÖØÇ°¼°Ê±½â¾öÎÊÌâ¡£

    »¹¿ÉÒÔ×öÒ»¸ö¿ÉÊÓ»¯½çÃæ£¬¶ÔÓںܶàÓû§À´Ëµ£¬ÃüÁîÐпÉÄܲ»°®¿´£¬»òÕß˵Óе㸴ÔÓ£¬Ò»¸öÖ±¹ÛµÄÓû§½çÃæ½«ÓÐÖúÓÚÓû§¸ü·½±ãµØÊ¹ÓÃÕâЩ¹¤¾ß¡£

    ×îºó£¬ÎªÁËÈ·±£ÕâЩ¹¤¾ßµÄÓÐЧÐÔºÍ׼ȷÐÔ£¬½¨Ò鶨ÆÚ½øÐÐÖÊÁ¿²âÊÔºÍÑéÖ¤¡£ÕâÑù¿ÉÒÔÈ·±£ËüÃÇÔÚ²»Í¬³¡¾°ºÍÅäÖÃ϶¼Äܿɿ¿µØ¹¤×÷¡£

    Ô­ÎÄÁ´½Ó£º

    https://blog.csdn.net/qq_53847859/article/details/134802621

    ÊÛǰ×Éѯ

    ÊÛºó·þÎñ

    Òâ¼û·´À¡

    AIStore

    »Øµ½¶¥²¿

    »Øµ½¶¥²¿

    ÊÕÆð
    »Øµ½¶¥²¿ »Øµ½¶¥²¿
    ÇëÑ¡Ôñ·þÎñÏîÄ¿
    ÊÛǰ×Éѯ
    ÊÛºó·þÎñ
    ·ÃÎÊ AIStore

    ɨÂë·ÃÎÊAIStore

    ¡¾ÍøÕ¾µØÍ¼¡¿¡¾sitemap¡¿