LinuxÎļþϵͳѡÔñ
ͨ¹ý×ÛºÏʹÓöàÖÖ±ê×¼ÎļþϵͳBenchmarks¶ÔExt3, Ext4, Reiserfs, XFS, JFS, Reiser4µÄÐÔÄܲâÊԶԱȣ¬¶Ô²»Í¬Ó¦ÓÃÑ¡ÔñºÏÊʵÄÎļþϵͳ¸ø³öÒÔÏ·½°¸£¬¹©´ó¼Ò²Î¿¼¡£ÎļþϵͳÐÔÄܲâÊÔÊý¾Ý¼û¸½±í¡£
1¡¢´óÁ¿Ð¡Îļþ£¨LOSF, Lost of small files£©I/OÓ¦ÓÃ(ÈçСͼƬ)
Reiserfs(Ê×Ñ¡), Ext4ÎļþϵͳÊʺÏÕâÀà¸ºÔØÌØÕ÷£¬IOµ÷¶ÈË㷨ѡÔñdeadline£¬block size = 4096, ext4¹Ø±ÕÈÕÖ¾¹¦ÄÜ¡£
reiserfs mount²ÎÊý£º-o defaults, async, noatime, nodiratime, notail, data=writeback
ext4 mount²ÎÊý£º-o defaults, async, noatime, nodiratime, data=writeback, barrier=0
¹Ø±Õext4ÈÕÖ¾£ºtune2fs -O^has_journal /dev/sdXX
2¡¢´óÎļþI/OÓ¦ÓÃ(ÈçÊÓÆµÏÂÔØ¡¢Á÷ýÌå)
EXT4ÎļþϵͳÊʺϴËÀà¸ºÔØÌØÕ÷£¬IOµ÷¶ÈË㷨ѡÔñanticipatory, block size = 4096, ¹Ø±ÕÈÕÖ¾¹¦ÄÜ£¬ÆôÓÃextent(default)¡£
mount²ÎÊý£º-o defaults, async, noatime, nodiratime, data=writeback, barrier=0
¹Ø±Õext4ÈÕÖ¾£ºtune2fs -O^has_journal /dev/sdXX
3¡¢SSDÎļþϵͳѡÔñ
EXT4/Reiserfs¿ÉÒÔ×÷ΪSSDÎļþϵͳ£¬µ«Î´¶ÔSSD×öÓÅ»¯£¬²»Äܳä·Ö·¢»ÓSSDÐÔÄÜ£¬²¢Ó°ÏìSSDʹÓÃʱ¼ä¡£
Btrfs¶ÔSSD×÷ÁËÓÅ»¯£¬mountͨ¹ý²ÎÊýÆôÓᣵ«BtrfsÈÔ´¦ÓÚʵÑé½×¶Î£¬Éú²ú»·¾³½÷É÷ʹÓá£
JFFS2/Nilfs2/YAFFSÊdz£ÓõÄflash file system£¬ÔÚǶÈëʽ»·¾³¹ã·ºÓ¦Ó㬽¨ÒéʹÓá£ÐÔÄÜĿǰ»¹Î´×÷²âÊÔÆÀ¹À¡£
¼òµ¥·ÖÎöÒ»ÏÂÑ¡ÔñReiserfsºÍext4ÎļþϵͳµÄÔÒò£º
1¡¢Reiserfs
¡¡´óÁ¿Ð¡Îļþ·ÃÎÊ£¬ºâÁ¿Ö¸±êÊÇIOPS£¬ÎļþϵͳÐÔÄÜÆ¿¾±ÔÚÓÚÎļþÔªÊý¾Ý²Ù×÷¡¢Ä¿Â¼²Ù×÷¡¢Êý¾ÝѰַ¡£reiserfs¶ÔСÎļþ×÷ÁËÓÅ»¯£¬²¢Ê¹ÓÃB+ tree×éÖ¯Êý¾Ý£¬¼ÓËÙÁËÊý¾ÝѰַ£¬´ó´ó½µµÍÁËopen/create/delete/closeµÈϵͳµ÷ÓÿªÏú¡£mountʱָ¶¨noatime, nodiratime, notail£¬¼õÉÙ²»±ØÒªµÄinode²Ù×÷£¬notail¹Ø±Õtail package¹¦ÄÜ£¬ÒԿռ任ȡ¸ü¸ßÐÔÄÜ¡£Òò´Ë£¬¶ÔÓÚËæ»úµÄСI/O¶Áд£¬reiserfsÊǺܺõÄÑ¡Ôñ¡£
2¡¢Ext4
¡¡´óÎļþ˳Ðò·ÃÎÊ£¬ºâÁ¿Ö¸±êÊÇIOÍÌÍÂÁ¿£¬ÎļþϵͳÐÔÄÜÆ¿¾±ÔÚÓÚÊý¾Ý¿é²¼¾Ö(layout)¡¢Êý¾ÝѰַ¡£Ext4¶Ôext3Ö÷Òª×÷ÁËÁ½·½ÃæµÄÓÅ»¯:
¡¡Ò»ÊÇinodeÔ¤·ÖÅä¡£ÕâʹµÃinode¾ßÓкܺõľֲ¿ÐÔÌØÕ÷£¬Í¬Ò»Ä¿Â¼Îļþinode¾¡Á¿·ÅÔÚÒ»Æð£¬¼ÓËÙÁËĿ¼ѰַÓë²Ù×÷ÐÔÄÜ¡£Òò´ËÔÚСÎļþÓ¦Ó÷½ÃæÒ²¾ßÓкܺõÄÐÔÄܱíÏÖ¡£
¡¡¶þÊÇextent/delay/multiµÄÊý¾Ý¿é·ÖÅä²ßÂÔ¡£ÕâЩ²ßÂÔʹµÃ´óÎļþµÄÊý¾Ý¿é±£³ÖÁ¬Ðø´æ´¢ÔÚ´ÅÅÌÉÏ£¬Êý¾ÝѰַ´ÎÊý´ó
Ïà¹ØÎĵµ£º
ÔÚx86ƽ̨ÉÏ£¬linuxÄÚºËÓÃÁËÒ»¸ö±È½Ï¸´Ôӵįô¶¯ÐÒ鹿·¶£¬Ö÷ÒªÓÉÓÚÀúÊ·ÔÒò£¬ÔçÆÚÏë°ÑÄÚºË×ö³É¿ÉÆô¶¯Ó³Ïñ£¬¸´ÔӵļÆËã»úÄÚ´æÄ£ÐͺÍÓÉÓÚʵģʽDOS³ÉΪÖ÷Á÷²Ù×÷ϵͳ¶øÓ°ÏìµÄ.
ÏÖÔÚÓÐÏÂÁÐÆô¶¯ÐÒé´æÔÚ£º
¾É°æÄںˣºÖ»Ö§³ÖzImageºÍImage.
2.00£ºÔö¼ÓbzImageºÍinitrdÖ§³Ö£¬Ò²ÓµÓÐÁËÒ»ÖÖÕý¹æ»¯µÄ·½·¨À´ÊµÏÖÆô¶ ......
ÔÚlinuxÄں˵ÄÔ´´úÂëÖУ¬ÒÔ»ã±àÓïÑÔ±àдµÄ³ÌÐò»ò³ÌÐò¶Î£¬ÓÐÁ½ÖÖ²»Í¬µÄÐÎʽ¡£
µÚÒ»ÖÖÊÂÍêÈ«µÄ»ã±à´úÂ룬ÕâÑùµÄ´úÂë²ÉÓÃ.s×÷ΪÎļþµÄºó׺¡£ÊÂʵÉÏ£¬¾¡¹ÜÊÇÍêÈ«µÄ»ã±à´úÂ룬ÏÖ´úµÄ»ã±à¹¤¾ßÒ²ÎüÊÕÁËCÓïÑԵij¤´¦£¬Ò²ÔÚ»ã±à֮ǰ¼ÓÉÏÁËÒ»ÌËÔ¤´¦Àí£¬¶øÔ¤´¦Àí֮ǰµÄÎļþÔòÒÔ.sΪºó׺¡£´ËÀࣨ.s£©ÎļþÒ²ºÍC³ÌÐòÒ»Ñù£¬¿ÉÒÔʹÓÃ#includ ......
Ò»Ö±ÒÔÀ´ÎÒµÄÎÄÕ¶¼ÊÇÒÔ¹¤×÷±Ê¼ÇµÄÐÎʽ´æÔÚ¡£Õâ¶ÔÓÚ×Ô¼º¶ÁÆðÀ´Ã»Ê²Ã´´ó°£¬µ«ÊǶÔÓÚÆäËû¶ÁÕß¿ÉÄܾÍÓÐЩÃÔã¡£ÎÒ¾¡Á¿¸Ä¸Ä£¬»»ÖÖ·½Ê½¡£
1. MySQL µÄ°æ±¾
Èç¹ûÒªÖ§³Ö·ÖÇø±í£¬ÔòÓ¦¸ÃʹÓà 5.1.x ÒÔÉϵİ汾¡£Èç
mysql> show variables like '%version%';
+-------------------------+------------------------------ ......
Linux µÄ Input Device ÊÇÖØÒªµÄÒ»個 subsystem£¬ÔÚ進ÐÐ實Àý½é紹ǰ£¬ÏÈ´óÂÔÁ˽âÒ»ÏÂÏà關µÄ API¡£input.cÊÇLinuxµÄÊäÈë驅動³Ìʽ£¬Ö÷ÒªÖ§Ô®鍵盤與»¬ÊóµÄ輸È룻input.c½éÃæÌØÊâµÄµØ·½ÊÇ採ÓÃÁËʼþ£¨event£©µ ......
&&
ÃüÁî1 && ÃüÁî2 Èç¹ûÕâ¸öÃüÁî1Ö´Ðгɹ¦& &ÄÇôִÐÐÕâ¸öÃüÁîÃü2
mv myfile myfile2 && echo "if you are seeing this then mv was success!"
||
Èç¹û| |×ó±ßµÄÃüÁÃüÁî1£©Î´Ö´Ðгɹ¦£¬ÄÇô¾ÍÖ´ÐÐ| |ÓұߵÄÃüÁî(ÃüÁî2£©
mv myfile myfile2 & ......