ºìÁªLinuxÃÅ»§
Linux°ïÖú

readahead¼ÓËÙLinux¿ª»úËÙ¶È

·¢²¼Ê±¼ä:2008-09-10 00:20:33À´Ô´:ºìÁª×÷Õß:Gcmjiu
ÔÚÒ»Á½Äêǰ£¬LinuxºËÐÄÉÐȱ·¦Ò»¸öºÃµÄµÄÓ²µúÔ¤¶Á»úÖÆÊ±£¬×ÀÃæÏµÍ³µÄʹÓÃÕßÈôÒª¼ÓËÙ¿ª»úµÄËÙ¶È£¬Í¨³£µÃÏȽâ¾ö¿ª»úµÄÆ¿¾±ÎÊÌâ¡£ÓÚÊǵÃÒÀÀµÈçreadaheadÕâÑùµÄ¹¤¾ßÀ´Ô¤ÏÈÔØÈëÏë¶ÁÈëµÄµµ°¸£¬ÒÔ±ãÌá¸ßÏµÍ³ÔØÈëµÄËÙ¶È¡£

readaheadµÄ»ù±¾Ô­ÀíÊÇÏÈÔ¤ÏÈÔØÈ뿪»ú¹ý³Ì¿ÉÄÜʹÓõĵµ°¸µ½¼ÇÒäÌåÖÐ(page cache)¡£Èç´Ë¿ª»ú³ÌʽִÐÐʱ£¬±ã¿É½ÚÊ¡¶ÁÈëµµ°¸µÄʱ¼ä£¬½ø¶ø¼Ó¿ì¿ª»úËÙ¶È¡£

µ±È»£¬Ç°ÌáÊÇÄãÒªÓÐ×ã¹»µÄ¼ÇÒäÌå×÷¿ìÈ¡¡£ÈôÄãµÄϵͳֻÓÐС¼ÇÒäÌ壬²»½¨ÒéʹÓÃreadahead.ĿǰÔÚUbuntu, Debian GNU/LinuxÏÂʹÓõİ汾»ùÓÚErich Schubert ¡¢Robin H. Johnson¡¢Scott James Remnant£¬¸Ä×ÔÓÚGentooµÄ°æ±¾¡£ Fedora ProjectÔòÓÐÁíÍâÒ»¸ö¸ÅÄîÏàͬ£¬µ«ÓÉRedHatËù¿ª·¢µÄµÄ²»Í¬Êµ×ö¡£

ÒÔÏÂËù˵Ã÷µÄÊÇUbuntu, Debian GNU/Linux°æ±¾¡£

ΪÁËʹreadahead¿ÉÒÔÕýÈ·µÄ¶Ô¿ª»úËùÐèµÄµµ°¸¿ìÈ¡£¬Äã±ØÐë½Ì»áreadaheadĿǰÓжàÉÙµµ°¸ÐèÒª±»Ô¤ÏÈÔØÈ룬ԭÔòÉÏÖ»ÐèÒª×÷Ò»´Î¡£ UbuntuÔÚÊͳö¹Ù·½°æ±¾Ê±£¬±ã»áÄÚ½¨Ò»×éÔ¤ÏȽϵ÷µÄµµ°¸ÁÐ±í¡£µ«Èôÿ´Î¸üкËÐÄ»òÌ×¼þϵͳ£¬ÌرðÊÇ¿ª»úËùÐèµÄ³Ìʽ£¬Æäʵ¶¼Ó¦¸Ã×ö¹ýÒ»´Î¡°profile¡±µÄ¶¯×÷£¬ÒÔ±ãreadahead±£³ÖÕýÈ·µÄÔØÈëµµ°¸ÁÐ±í¡£

Ïà½ÏÓÚDebian˵Ã÷readaheadµÄ˵Ã÷Îļþ£¬ÔÚUbuntuÓÉÓÚÈÔʹÓþɰ棬ʹÓÃÉÏÔòÆÄΪÃÕÑù£¬UbuntuµÄREADME.DebianÖ»ÌáÐÑÄãreadahead²»ÄÜÓÃÔÚNFSÉÏ£¬ÍüÁË˵Ã÷ʹÓ÷½·¨¡£ÔÚUbuntuÉÏ£¬readahead»á¼ì²é/proc/cmdlineÖÐÊÇ·ñÓÐprofile²ÎÊý£¬ÈôÓÐÔò½øÐÐprofilingµÄ³ÌÐò¡£ÈôʹÓÃGrub£¬Ôò²Ù×÷·½Ê½ÈçÏÂ

¿ª»ú¼ûµ½¡°GRUB loading¡±Ìáʾʱ£¬°´Ï¡°Esc¡±¼ü
°´Ï¡°e¡±¼ü½øÐб༭(ÈôÓжàºËÐÄ£¬ÏÈÑ¡ÔñÔ¤É迪»úÖ®ºËÐÄÐÐ)
°´Ï¡°ÏòÏ¡± (¡ý)¼üµ½¡°kernel¡±ÐÐ
ÔÙÑ¡¡°e¡±¼ü½øÐб༭
Äã»á½øÈë²ÎÊý±à¼­Ä£Ê½£¬Òƶ¯µ½²ÎÊý×îºó¼ÓÈë¡°profile¡±£¬¡±profile¡±×ÖÑùǰ¼ÇµÃÌîÈë¿Õ°×¡£
°´Ï¡°Enter¡±Íê³É±à¼­
°´Ï¡°b¡±¼ü¿ª»ú

µÚÒ»´Î¿ª»úÉÔÂý£¬µ«×÷¹ýÒ»´Îprofileºó£¬Ö®ºóµÄ¿ª»úËÙ¶ÈÓ¦¸Ã»áÌá¸ßЩ¡£

ÔÚDebianÏ£¬Ö»ÐèÓÃrootÏ´ïÒÔÏÂÖ¸Áîºó£¬ÖØÐ¿ª»ú¼´¿É

# touch /etc/readahead/profile-once

µ«ÔÚаæµÄLinuxºËÐÄ£¬ÓÐOn-demand read-aheadµÈ¼¼ÊõµÄ¼Ó³Ö£¬ÕâÑùµÄ¹¤¾ßÒѾ­²»ÌرðÐèÒª£¬ÉõÖÁ·´¶ø»áÍÏÂý¿ª»úµÄʱ¼ä¡£

ÊÔ×ÅÔÚ°²×°ÁËUbuntu EeeµÄASUS EEEPC 701ÉϲâÊÔ(ºËÐÄΪ2.6.24-16-generic)£¬ÒÔÔ¤Éè°²×°ÈíÌå²âÊÔ¿ª»úµ½×ÀÃæ»·¾³³öÏÖµÄuptime£¬Ã¿´Î¶¼´óÔ¼60s¡£½øÐÐprofileÔòԼʹÓÃ80Ã룬profiled¹ýreadahead¿ª»úËÙ¶ÈÏàͬ¡£

ÁíÍâÒ²ÔÚÎÒµÄThinkpad X60 1706-B69ÉϲâÊÔ£¬ÈíÌåÊÇDebian sid,ºËÐÄΪ2.6.26-1-686¡£ÏµÍ³×°ÁËÏ൱¶àÔÓÆßÔӰ˵ÄÈíÌ壬ӲÌå×°ÁË2G¼ÇÒäÌ壬ӲµúÔòÊÇ8M Buffer, 5400RPMµÄFUJITSU MHV2100B¡£ profile´óԼʹÓÃ152s£¬profiled readahead¿ª»úÔòÔ¼55s£¬¹ØµôreadaheadÔòÔ¼53s¡£
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ