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

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

ϵͳÔËά¹¤¾ß°´¹¦ÄÜ»®·Ö¿É·ÖΪ¼à¿ØºÍÕï¶Ïģʽ£º
ϵͳ¼à¿Ø£ºÕë¶Ô¸÷ÖÖϵͳ×ÊÔ´£¨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 ¹¤¾ß

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(ÈôÀ´²»¼°Ö´Ðмì²â³ÌÐòÔò¿ÉÒÔÑÓ³¤Ê±¼ä)



2.2 slabÄÚ´æÐ¹Â¶¼ì²â
Ö´ÐÐ slabtop ÃüÁîÒԲ鿴µ±Ç°ÏµÍ³µÄ Slab ʹÓÃÇé¿ö¡£
Ö´ÐÐ cat /proc/slabinfo ÃüÁ»ñÈ¡¸üÏêϸµÄ Slab »º´æÐÅÏ¢¡£
ʹÓÃperf¹¤¾ß¸ú×ÙÄÚºËÖÐµÄ Slab ·ÖÅäºÍÊͷŲÙ×÷¡£
Ö´ÐÐksysak memleak -t slab -i 80¼ì²âÆô¶¯slabÄÚ´æÐ¹Â¶¼ì²â³ÌÐò,ÔËÐÐ80s£¨ÈôÀ´²»¼°Ö´Ðмì²â³ÌÐòÔò¿ÉÒÔÑÓ³¤Ê±¼ä£©¡£



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

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

4 ¼ì²âϵͳÖÐÑÓ³Ù¶¶¶¯
·þÎñPGµç¾º¹ÙÍø²Ù×÷ϵͳÔËÐйý³ÌÖУ¬¶ÔÓ¦ÓÃÔËÐеĸÉÈÅÔ´¿ÉÄÜ»áºÜ¶à£¬µ«¸ÉÈŲ»Ò»¶¨»á¶ÔÒµÎñÔì³ÉÓ°Ï죬ËùÒÔÖÁÉÙÐèÒª°üº¬ÕâЩ¸ÉÈÅÔ´µÄƵÂʺÍÔËÐÐʱ¼ä£¬À´ÆÀ¹ÀÊÇ·ñÊǹؼüÒòËØ¡£
ÖÁÉÙÐèÒª°üÀ¨ÒÔϸÉÈÅÔ´µÄͳ¼Æ£º
É豸Ӳ¼þÖжϣºÈç¹ûÔÚÒµÎñÔËÐйý³ÌÖУ¬Ä³Ò»ÀàÖÐ¶ÏÆµÂʹý¸ß»òÕß¼¯Öе½Ä³¸ö cpu£¬»òÕßµ¥´ÎÔËÐйý³¤£¬ÄÇô¶¼¿ÉÄÜ»áÓ°Ïìµ½ÒµÎñµÄÐÔÄÜ£¬¿ÉÒÔ¶ÔÖжϽøÐдòÉ¢°ó¶¨µÈ²Ù×÷¹Û²ìЧ¹û¡£
ϵͳ¶¨Ê±ÖжϣºÏµÍ³¶¨Ê±PGµç¾º¹ÙÍø¹ý¶à£¬Ò²¿ÉÄÜ»á¶ÔÒµÎñµÄ»½ÐÑÔì³ÉÑÓ³Ù£¬Í¨³£¿ÉÒÔ·ÖÎöÒµÎñ½ø³ÌÊÇ·ñÓдóÁ¿µÄʹÓø߾«¶È¶¨Ê±PGµç¾º¹ÙÍø¡£
ÈíÖжϣº¿ÉÄÜÊÇÍøÂçÁ÷Á¿ÊÇ·ñÓÐÍ»·¢Ôö¼ÓµÈ¡£
Runlatency ×÷ΪϵͳÔËά¹¤¾ßKSysAKµÄÒ»¸ö×Ó¹¤¾ß£¬ÓÃÓÚÕï¶ÏϵͳÖпÉÄÜÓ°ÏìÓ¦ÓÃÔËÐÐÑÓ³Ù¶¶¶¯µÄµØ·½²¢Êä³öÑÓ³ÙÒòËØ¡£ÆäÄÚºËÖÐ¼à¿ØÓ°Ïì½ø³Ìµ÷¶ÈµÄÑÓʱÒòËØ£¨¹ØÖжϡ¢³¤Ê±¼ä²»µ÷¶È¡¢ÔËÐжÓÁг¤£©¡£¿É¼à¿ØÕû¸öϵͳ»òµ¥¸ö½ø³ÌµÄÖжϺ͵÷¶ÈÐÅÏ¢£¬¼à¿ØµÄÊý¾Ý°üÀ¨£º
½ø³Ì/Ï̵߳÷¶ÈÑÓ³Ù£º±ÈÈçÔËÐжÓÁм·Ñ¹¡¢ÅŶÓʱ¼ä¹ý³¤ÒÔ¼°¸ßÓÅÏȼ¶Ó¦ÓÃÇÀÕ¼»ò±¾Éíµ÷¶È²ßÂÔÉèÖò»ºÏÀí¡£
ÖжϺÍÈíÖжÏÏìÓ¦²»¼°Ê±£ºÒµÎñÔËÐйý³Ì»áÒÀÀµÓÚÖжϺÍÈíÖжÏÖ´Ðйý³Ì£¬°üÀ¨ÍøÂçÊÕ·¢°ü¡¢IO ¶ÁдµÈ¡£Òò´Ë¿ÉÒÔ·ÖÎö¹ØÖжÏʱ³¤À´ÅжÏÖжϵÄÏìӦʱ¼ä¡£
ÄÚºËִ̬Ðйý³¤£º°üÀ¨ÏµÍ³±¾Éí´æÔ򵀮¿¾±ÒÔ¼°ÄÚºËÀïÆäËû×ÊÔ´¾ºÕùµÈÇé¿ö¡£
4.1 ϵͳѲ²é
Ö´ÐÐϵͳÑÓ³Ù¶¶¶¯Ä£Äâ³ÌÐò testrunlatency.python (ÔÚ/root)

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

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

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

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

nosch£¬ hard£¬ soft ÀàÐ͵ÄÑÓ³ÙÐÅÏ¢£¬ËùÊôCPU£¬½ø³Ìid£¬ÑÓʱʱ¼ä£¬ ÃüÁîÐУ¬¶ÑÕ»ÐÅÏ¢µÈ¡£
ʹÓÃcurlÓÃÓÚ²âÊÔWebÓ¦ÓõÄÏìÓ¦ºÍʱ¼ä£¬½ÏСµÄÑÓ³Ùʱ¼äͨ³£±íʾϵͳ»ò·þÎñÄܹ»¸ü¿ìµØÏìÓ¦Óû§µÄÇëÇó

5 ²úÆ·×ܽá
KSysAKÊÇÒ»¿î¶à¸öÔËά¹¤¾ß¼¯ºÏµÄ¡°½á¾§¡±£¬Ëü¿ÉÒÔ´ó´óÌá¸ßÔËάÈËÔ±µÄ¹¤×÷ЧÂÊ£¬ÆäÖ÷Òª¹¦ÄÜÊÇϵͳµÄÈÕ³£¼à¿Ø¡¢ÏßÉÏÎÊÌâµÄÕï¶ÏºÍϵͳ¹ÊÕÏÐÞ¸´£¬¶ÔÓÚϵͳµÄ¼ì²â·Ç³£µÄÏêϸ£¬¸Ã²úÆ·µÄÖ÷ÒªÌØµãÊǸ²¸ÇÃæ¹ã£¬Ê¹Óò»ÊÜÏÞ£¬Õâ´ó´óÌåÏÖÁ˲úÆ·µÄʵÓú͹㷺ÐÔ,ÈÃÔËά¹¤×÷»Ø¹é¼òµ¥£¬ÈÃϵͳÔËάÈËÔ±²»ÐèÒªÉîÈëÁ˽âÄں˾ÍÄÜÕÒ³öÎÊÌâµÄËùÔÚ£¬·Ç³£·½±ã£¡
×ÜÌåÀ´Ëµ£¬²»¹ÜÊǶÔÓû§¸öÈË»¹ÊÇÔڸڵŤ×÷ÈËÔ±£¬Õâ¿î¹¤¾ßÒ»¶¨Êǵ±Ö®ÎÞÀ¢µÄ£¬µ«ÊÇÔÚijЩ·½Ã滹ÊÇ¿ÉÒÔÔÙÓÅ»¯µÄ£¬ÀýÈ磺
¿ÉÒÔÔöÇ¿¶¨ÖÆ»¯£º¹¤¾ßÓ¦¸ÃÔÊÐíÓû§¸üϸÁ£¶ÈµØ¶¨ÖÆÄ£Äâй©µÄ³¡¾°¡£±ÈÈ磬Óû§Ó¦¸ÃÄܹ»Ö¸¶¨Ð¹Â©µÄ´óС¡¢ËÙ¶È¡¢ÒÔ¼°Ð¹Â©·¢ÉúµÄλÖá£
ÏêϸµÄ±¨¸æ£º¹¤¾ßÓ¦¸ÃÉú³ÉÏêϸÇÒÒ×ÓÚÀí½âµÄ±¨¸æ£¬ÒÔ°ïÖúÓû§Ê¶±ðºÍ½â¾öÄÚ´æÐ¹Â©ÎÊÌâ¡£±¨¸æÓ¦¸Ã°üÀ¨Ð¹Â©µÄ´óС¡¢Î»Öá¢ÒÔ¼°¿ÉÄܵĽâ¾ö·½°¸¡£
ʵʱ¼ì²âºÍ¾¯±¨£º¹¤¾ßÓ¦¸ÃÄÜʵʱ¼à²âÄÚ´æÐ¹Â¶£¬²¢ÔÚ·¢ÏÖDZÔÚÎÊÌâʱÏòÓû§·¢³ö¾¯±¨£¬ÕâÑùÓÐÖúÓÚÔÚÎÊÌâÑÏÖØÇ°¼°Ê±½â¾öÎÊÌâ¡£
»¹¿ÉÒÔ×öÒ»¸ö¿ÉÊÓ»¯½çÃæ£¬¶ÔÓںܶàÓû§À´Ëµ£¬ÃüÁîÐпÉÄܲ»°®¿´£¬»òÕß˵Óе㸴ÔÓ£¬Ò»¸öÖ±¹ÛµÄÓû§½çÃæ½«ÓÐÖúÓÚÓû§¸ü·½±ãµØÊ¹ÓÃÕâЩ¹¤¾ß¡£
×îºó£¬ÎªÁËÈ·±£ÕâЩ¹¤¾ßµÄÓÐЧÐÔºÍ׼ȷÐÔ£¬½¨Ò鶨ÆÚ½øÐÐÖÊÁ¿²âÊÔºÍÑéÖ¤¡£ÕâÑù¿ÉÒÔÈ·±£ËüÃÇÔÚ²»Í¬³¡¾°ºÍÅäÖÃ϶¼Äܿɿ¿µØ¹¤×÷¡£
ÔÎÄÁ´½Ó£º
https://blog.csdn.net/qq_53847859/article/details/134802621
ÊÛǰ×Éѯ
ÊÛºó·þÎñ
·ÃÎÊ AIStoreAIStoreÊÇ»ùÓÚÔªÄÔÉú̬´òÔìµÄÉÌÒµÐ×÷ÏßÉÏÆ½Ì¨£¬×÷Ϊ֪ʶ×ÊԴƽ̨¡¢½»Á÷·þÎñƽ̨ºÍÉÌ»ú·õ»¯Æ½Ì¨£¬¸³ÄÜ¡°°ÙÄ£¡±Ó롰ǧÐС±µÄ¶Ô½Ó£¬Ä¿Ç°ÒÑÉϼÜ200+²úÆ·ºÍ·½°¸£¬ÔÚÖÇÄÜÆ±¾Ýʶ±ð¡¢AI¹¤ÒµÖʼ졢´úÂëÉú³É¡¢ÊÓ¾õÖÇÄܱê×¢¡¢AI½¡¿µÖúÊÖµÈÁìÓòʵÏֳɹ¦Ç£ÊÖºÍÂ䵨ӦÓã¬ÖúÁ¦Ç§ÐаÙÒµ¼ÓËÙAI²úÒµ´´Ð£¬¸ßЧÊÍ·ÅÉú²úÁ¦¡£

ɨÂë·ÃÎÊAIStore