¡¡¡¡ LinuxϵÄ32λI/OºÍDMAĬÈÏÊǹرյģ¬¿ÉÊÇÏÖÔÚµçÄÔµÄÓ²Å̲»»áÄÇôÂäÎé°É£¡LinuxºÃÊǺ㬵«Èç¹ûÓõÄÊÇ16λI/OµÄ»°£¬µçÄÔµÄÐÔÄܾÍÎÞ·¨µÃµ½³ä·Ö·¢»Ó£¬ÄãÐÄÀïÒ»¶¨»á¾õµÃºÜÔ©£¡Ã»¹Øϵ£¬¸úÎÒÀ´°É¡£
¡¡¡¡ Òª´ò¿ª32λI/OºÍDMA£¬ÐèÒªÒÔRootÉí·Ý½øÐÐÉèÖá£ÎªÁ˽µµÍÒò³ö´í¶øÖØÆôϵͳ¶ÔÎļþϵͳµÄË𺦣¬×îºÃÒÔµ¥Óû§Ä£Ê½½øÐС£¿ÉÒÔÏÈÓÃÏÂÃæµÄÃüÁî¼ì²éÓ²¼þÇý¶¯Æ÷µÄI/OÇé¿ö¡£
¡¡¡¡ #hdparm -t /dev/hda
¡¡¡¡ ÆÁÄ»ÏÔʾÈçÏ£º
¡¡¡¡ /dev/hda:
¡¡¡¡ Timing buffered disk reads:64MB in 30.93 seconds=2.07MB/sec
¡¡¡¡ Èç¹ûÒªÏÔʾµ±Ç°I/O¡¢DMAÅäÖã¬ÃüÁî·Ö±ðÈçÏ£º
¡¡¡¡ #hdparm -c /dev/had £¨×¢£ºÏÔʾI/OÅäÖÃÃüÁ
¡¡¡¡ ÆÁÄ»ÏÔʾÈçÏ£º
¡¡¡¡ /dev/hda:
¡¡¡¡ I/O support=0(16bit)
¡¡¡¡ # hdparm -d /dev/had £¨×¢£ºÏÔʾDMAÅäÖÃÃüÁ
¡¡¡¡ ÆÁÄ»ÏÔʾÈçÏ£º
¡¡¡¡ /dev/hda:
¡¡¡¡ using_dma=0(off)
¡¡¡¡ ÔÚÈ·¶¨32λI/OºÍDMAÊǹرյÄÒÔºó£¬ÓÃÏÂÃæµÄÃüÁÆä´ò¿ª£º
¡¡¡¡ #hdparm -c 1 /dev/hda £¨×¢£º´ò¿ª32λI/OµÄÃüÁ
¡¡¡¡ ÆÁÄ»ÏÔʾÈçÏ£º
¡¡¡¡ /dev/hda:
¡¡¡¡ setting 32-bit I/O support flag to 1
¡¡¡¡ I/O support= 1 (default 16-bit)
¡¡¡¡ #hdparm -d 1 /dev/had (×¢£º´ò¿ªDMAµÄÃüÁî)
¡¡¡¡ ÆÁÄ»ÏÔʾÈçÏ£º
¡¡¡¡ /dev/hda:
¡¡¡¡ setting using_dma to 0(on)
¡¡¡¡ hda:DMA inabled
¡¡¡¡ using_dma=1 (on)
¡¡¡¡ È»ºóÖ´ÐÐÏÂÃæµÄÃüÁîÒÔʹÅäÖÃÉúЧ£º
¡¡¡¡ #hdparm -k 1 /dev/hda
¡¡¡¡ ÆÁÄ»ÏÔʾÈçÏ£º
¡¡¡¡ /dev/hda:
¡¡¡¡ setting keep_settings to 1(on)
¡¡¡¡ keepsettings=1(on)
¡¡¡¡ È»ºó£¬¿ÉÒÔÔÙÓÃÃüÁhdparm -t /dev/hda À´¿´¿´Ð§¹û£º
¡¡¡¡ /dev/hda:
¡¡¡¡ Timing buffered disk reads:64MB in 14.53 seconds=4.40MB/sec
¡¡¡¡ ÔõôÑù£¬ÐÔÄÜÌá¸ßÁËÒ»±¶¶à£¡
¡¡¡¡ ÉÏÃæµÄ·½·¨£¬¿ÉÒÔʵÏÖÔÚÒ»´Î¿ª»úÖÐÉúЧ£¬¶øÏÂÒ»´Î¿ª»úÓÖÒªÖØÐÂÉèÖá£Èç¹ûҪʵÏÖÿһ´Î¿ª»úʱ¶¼ÉúЧ£¬Ó¦¸ÃÔÚÎļþ/etc/rc.d/rc.localµÄ½áβ¼ÓÈëÒÔÏÂÃüÁhdparm -c 1 -d 1 -k 1 /dev/hda£¬Ëü¿ÉÒÔʹÉèÖÃÔÚÿ´ÎÖØÐÂÆô¶¯ÏµÍ³Ê±ÉúЧ¡£