Linux slab ·ÖÅäÆ÷ÆÊÎöÖ®Ò»£ºslab µÄ¸ÅÄî
ÄÚ´æ¹ÜÀíµÄÄ¿±êÊÇÌṩһÖÖ·½·¨£¬ÎªÊµÏÖ¸÷ÖÖÄ¿µÄ¶øÔÚ¸÷¸öÓû§Ö®¼äʵÏÖÄÚ´æ¹²Ïí¡£ÄÚ´æ¹ÜÀí·½·¨Ó¦¸ÃʵÏÖÒÔÏÂÁ½¸ö¹¦ÄÜ£ºÒ»ÊÇ×îС»¯¹ÜÀíÄÚ´æËùÐèµÄʱ¼ä£»¶þÊÇ×î´ó»¯ÓÃÓÚÒ»°ãÓ¦ÓõĿÉÓÃÄڴ棨×îС»¯¹ÜÀí¿ªÏú£©¡£ÄÚ´æ¹ÜÀíʵ¼ÊÉÏÊÇÒ»ÖÖ¹ØÓÚȨºâµÄÁãºÍÓÎÏ·¡£Äú¿ÉÒÔ¿ª·¢Ò»ÖÖʹÓÃÉÙÁ¿ÄÚ´æ½øÐйÜÀíµÄËã·¨£¬µ«ÊÇÒª»¨·Ñ¸ü¶àʱ¼äÀ´¹ÜÀí¿ÉÓÃÄÚ´æ¡£Ò²¿ÉÒÔ¿ª·¢Ò»¸öËã·¨À´ÓÐЧ¿ìËٵعÜÀíÄڴ棬µ«È´ÒªÊ¹Óøü¶àµÄÄÚ´æ¡£×îÖÕ£¬Ìض¨Ó¦ÓóÌÐòµÄÐèÇ󽫴Ùʹ¶ÔÕâÖÖȨºâ×÷³öÑ¡Ôñ¡£
Ò»£¬ÆÕͨÄÚ´æ¹ÜÀíÓëslabÄÚ´æ¹ÜÀíµÄ¶Ô±È
֮ǰµÄÄÚ´æ¹ÜÀíÆ÷¶¼Ê¹ÓÃÁËÒ»ÖÖ»ùÓڶѵķÖÅä²ßÂÔ¡£ÔÚÕâÖÖ·½·¨ÖУ¬´ó¿éÄڴ棨³ÆÎª¶Ñ£©ÓÃÀ´ÎªÓû§¶¨ÒåµÄÄ¿µÄÌṩÄÚ´æ¡£µ±Óû§ÐèÒªÒ»¿éÄÚ´æÊ±£¬¾ÍÇëÇó¸ø×Ô¼º·ÖÅäÒ»¶¨´óСµÄÄÚ´æ¡£¶Ñ¹ÜÀíÆ÷»á²é¿´¿ÉÓÃÄÚ´æµÄÇé¿ö£¨Ê¹ÓÃÌØ¶¨Ëã·¨£©²¢·µ»ØÒ»¿éÄÚ´æ¡£ËÑË÷¹ý³ÌÖÐʹÓõÄһЩËã·¨ÓÐ first-fit£¨ÔÚ¶ÑÖÐËÑË÷µ½µÄµÚÒ»¸öÂú×ãÇëÇóµÄÄÚ´æ¿é£©ºÍ best-fit£¨Ê¹ÓöÑÖÐÂú×ãÇëÇóµÄ×îºÏÊʵÄÄÚ´æ¿é£©¡£µ±Óû§Ê¹ÓÃÍêÄÚ´æºó£¬¾Í½«ÄÚ´æ·µ»Ø¸ø¶Ñ¡£ÕâÖÖ»ùÓڶѵķÖÅä²ßÂԵĸù±¾ÎÊÌâÊÇË鯬£¨fragmentation£©¡£µ±ÄÚ´æ¿é±»·ÖÅäºó£¬ËüÃÇ»áÒÔ²»Í¬µÄ˳ÐòÔÚ²»Í¬µÄʱ¼ä·µ»Ø¡£ÕâÑù»áÔÚ¶ÑÖÐÁôÏÂһЩ¶´£¬ÐèÒª»¨Ò»Ð©Ê±¼ä²ÅÄÜÓÐЧµØ¹ÜÀí¿ÕÏÐÄÚ´æ¡£ÕâÖÖË㷨ͨ³£¾ßÓнϸߵÄÄÚ´æÊ¹ÓÃЧÂÊ£¨·ÖÅäÐèÒªµÄÄڴ棩£¬µ«ÊÇÈ´ÐèÒª»¨·Ñ¸ü¶àʱ¼äÀ´¶Ô¶Ñ½øÐйÜÀí¡£
Linux ËùʹÓÃµÄ slab ·ÖÅäÆ÷µÄ»ù´¡ÊÇ Jeff Bonwick Ϊ SunOS ²Ù×÷ϵͳÊ×´ÎÒýÈëµÄÒ»ÖÖËã·¨¡£Jeff µÄ·ÖÅäÆ÷ÊÇÎ§ÈÆ¶ÔÏó»º´æ½øÐеġ£ÔÚÄÚºËÖУ¬»áΪÓÐÏ޵ĶÔÏ󼯣¨ÀýÈçÎļþÃèÊö·ûºÍÆäËû³£¼û½á¹¹£©·ÖÅä´óÁ¿ÄÚ´æ¡£Jeff ·¢ÏÖ¶ÔÄÚºËÖÐÆÕͨ¶ÔÏó½øÐгõʼ»¯ËùÐèµÄʱ¼ä³¬¹ýÁË¶ÔÆä½øÐзÖÅäºÍÊÍ·ÅËùÐèµÄʱ¼ä¡£Òò´ËËûµÄ½áÂÛÊDz»Ó¦¸Ã½«ÄÚ´æÊÍ·Å»ØÒ»¸öÈ«¾ÖµÄÄÚ´æ³Ø£¬¶øÊǽ«ÄÚ´æ±£³ÖΪÕë¶ÔÌØ¶¨Ä¿¶ø³õʼ»¯µÄ״̬¡£ÀýÈ磬Èç¹ûÄÚ´æ±»·ÖÅ䏸ÁËÒ»¸ö»¥³âËø£¬ÄÇôֻÐèÔÚΪ»¥³âËøÊ״ηÖÅäÄÚ´æÊ±Ö´ÐÐÒ»´Î»¥³âËø³õʼ»¯º¯Êý£¨mutex_init£©¼´¿É¡£ºóÐøµÄÄÚ´æ·ÖÅä²»ÐèÒªÖ´ÐÐÕâ¸ö³õʼ»¯º¯Êý£¬ÒòΪ´ÓÉÏ´ÎÊͷź͵÷ÓÃÎö¹¹Ö®ºó£¬ËüÒѾ´¦ÓÚËùÐèµÄ״̬ÖÐÁË¡£
ÏÂͼ¸ø³öÁË slab ½á¹¹µÄ¸ß²ã×éÖ¯½á¹¹¡£ÔÚ×î¸ß²ãÊÇ cache_chain£¬ÕâÊÇÒ»¸ö slab »º´æµÄÁ´½ÓÁÐ±í¡£Õâ¶ÔÓÚ best-fit Ëã·¨·Ç³£ÓÐÓ㬿ÉÒÔÓÃÀ´²éÕÒ×îÊʺÏËùÐèÒªµÄ·ÖÅä´óСµÄ»º´æ£¨±éÀúÁÐ±í£©¡£cache_chain µÄÿ¸öÔ
Ïà¹ØÎĵµ£º
Ò»¡¢tast_struct½á¹¹
ËüÊÇÒ»¸öÊý¾Ý½á¹¹£¬¿ÉÒÔ˵£¬Ëü´ú±íÁËÒ»¸ö½ø³Ì¡£ËüÓкܶà×ֶΣ¬´óÌåÓÐһϼ¸ÖÖ£º
±êʶºÅ£º½ø³Ì±êʶ¡¢Óû§±êʶ¡¢×é±êʶ¡£
״̬£º LinuxµÄ½ø³ÌµÄËÄÖÖ»ù±¾×´Ì¬
µ÷¶ÈÐÅÏ¢£ºÓÅÏȼ¶¡¢Ê±¼äƬµÈ
½ø³ÌÁ´ÐÅÏ¢£º¸¸½ø³Ì¡¢×Ó½ø³ÌµÄÖ¸Õë
ÎļþÐÅÏ¢£º´ò¿ªÎļþ¡¢ÐéÄâÎļþϵͳ
ÉÏÏÂÎÄÐÅÏ¢£º½ø³ÌµÄÔËÐл·¾³
......
ÎÄÕÂÀ´Ô´£ºhttp://www.ibm.com/developerworks/cn/linux/l-linux-process-management/
¼¶±ð£º Öм¶
M. Tim Jones, ¹ËÎʹ¤³Ìʦ, Emulex Corp.
2009 Äê 1 ÔÂ 20 ÈÕ
Linux® µÄÓû§¿Õ¼ä½ø³ÌµÄ´´½¨ºÍ¹ÜÀíËùÉæ¼°µÄÔÀíÓë UNIX® Óкܶ๲ͬµã£¬µ«Ò²ÓÐÒ»Ð©ÌØ¶¨ÓÚ Linux µÄ¶ÀÌØÖ®´¦¡£ÔÚ±¾ÎÄÖУ¬Á˽â Linux ½ø³ÌµÄÉúÃüÖÜÆ ......
ÎÄÕÂÀ´Ô´:http://www.ibm.com/developerworks/cn/linux/l-memmod/index.html
¼¶±ð£º ³õ¼¶
Vikram Shukla (vikshukl@in.ibm.com), Èí¼þ¹¤³Ìʦ, IBM
2006 Äê 2 ÔÂ 23 ÈÕ
ÔÚÕâÆª Linux® ÄÚ´æÄ£ÐÍÖ¸ÄÏÖУ¬ÎÒÃǽ«Ñ§Ï°ÈçºÎ¹¹½¨ºÍ¹ÜÀíÄÚ´æ·½ÃæµÄ»ù´¡ÖªÊ¶¡£±¾Ö¸ÄϽéÉÜÁËÄÚ´æ¿ØÖÆµ¥Ôª¡¢·ÖҳģÐÍ·½ÃæµÄÄÚÈÝ£¬²¢Ïêϸ½éÉÜÁËÎïÀí ......
ÖÃÁËÍøÂç·þÎñÖ®ºó£¬¹Ø×¢Ò»ÏÂÄÄЩ¶Ë¿ÚÔÚ¼àÌýϵͳµÄÍøÂç½Ó¿ÚÕâÒ»µãºÜÖØÒª¡£Èκδò¿ªµÄ¶Ë¿Ú¶¼¿ÉÄÜÊÇÈëÇÖµÄÖ¤Ã÷¡£
ÒªÁоÙÕýÔÚ¼àÌýÍøÂçµÄ¶Ë¿Ú£¬ÓÐÁ½ÖÖ»ù±¾·½·¨¡£Ò»ÖÖ²»Ì«¿É¿¿µÄ·½·¨ÊÇͨ¹ý¼üÈë netstat -an »ò lsof -i
Ö®ÀàµÄÃüÁîÀ´²éÑ¯ÍøÂç¶ÑÕ»¡£ÕâÖÖ·½·¨Ö®ËùÒÔ²»Ì«¿É¿¿ÊÇÒòΪÕâЩ³ÌÐò²»Á¬½ÓÍøÂçÉϵĻúÆ÷£¬¶øÊDz鿴ϵͳÉÏÔÚÔË ......
²é¿´Èí¼þxxx°²×°ÄÚÈÝ
dpkg -L xxx
²éÕÒÈí¼þ
apt-cache search ÕýÔò±í´ïʽ
²éÕÒÎļþÊôÓÚÄĸö°ü
dpkg -S filename apt-file search filename
²éѯÈí¼þxxxÒÀÀµÄÄЩ°ü
apt-cache depends xxx
²éѯ ......