ÎÞÂÛÊÇÊý¾Ý´«Êä¡¢Ô¶³Ì·ÃÎÊ¡¢»¹ÊÇ×ÊÔ´¹²Ïí£¬¶¼Àë²»¿ªÎȶ¨¸ßЧµÄÍøÂç½Ó¿Ú¿¨£¨NIC£©¼°Æä±³ºóµÄÇý¶¯³ÌÐò
¶ÔÓÚLinux²Ù×÷ϵͳ¶øÑÔ£¬Íø¿¨Çý¶¯²»½öÊÇÁ¬½ÓÎïÀíÊÀ½çÓëÊý×ÖÊÀ½çµÄÇÅÁº£¬¸üÊÇÈ·±£ÏµÍ³ÍøÂçͨÐÅÐÔÄÜÓ밲ȫµÄ¹Ø¼ü
±¾ÎĽ«ÉîÈë̽ÌÖLinuxϵͳÖÐÍø¿¨Çý¶¯µÄÖØÒªÐÔ¡¢²é¿´·½·¨¡¢³£¼ûÎÊÌâ½â¾ö²ßÂÔÒÔ¼°ÓÅ»¯½¨Ò飬ּÔÚ°ïÖúϵͳ¹ÜÀíÔ±ºÍ¿ª·¢Õ߸üºÃµØÀí½âºÍ¹ÜÀíÍø¿¨Çý¶¯
Ò»¡¢Íø¿¨Çý¶¯µÄÖØÒªÐÔ Íø¿¨Çý¶¯£¬×÷Ϊ²Ù×÷ϵͳÓëÓ²¼þÉ豸֮¼äµÄ½Ó¿Ú£¬³Ðµ£×Ž«²Ù×÷ϵͳ·¢³öµÄÍøÂçÇëÇóת»¯ÎªÍø¿¨Äܹ»Àí½âµÄÖ¸Á²¢´¦ÀíÍø¿¨½ÓÊÕµ½µÄÊý¾Ý£¬ÔÙ½«Æä´«µÝ¸ø²Ù×÷ϵͳµÄÖØÈÎ
ÕâÒ»¹ý³Ì¿´ËƼòµ¥£¬ÊµÔòÉæ¼°¸´ÔÓµÄÓ²¼þ¿ØÖÆÂß¼¡¢Êý¾Ý´«ÊäÐÒéÒÔ¼°Öжϴ¦ÀíµÈ»úÖÆ
Ò»¸ö¸ßЧ¡¢Îȶ¨µÄÍø¿¨Çý¶¯Äܹ»ÏÔÖøÌáÉýÍøÂçͨÐÅËÙ¶È£¬¼õÉÙÑÓ³Ù£¬±£ÕÏÊý¾Ý´«ÊäµÄÍêÕûÐԺͰ²È«ÐÔ
ÔÚLinuxϵͳÖУ¬Íø¿¨Çý¶¯Í¨³£ÓÉ¿ªÔ´ÉçÇø»òÓ²¼þ³§ÉÌÌṩ£¬²¢¼¯³ÉÔÚLinuxÄÚºËÖлòͨ¹ýÓû§¿Õ¼äÄ£¿é¼ÓÔØ
ÕâÒâζ×ÅLinuxϵͳӵÓй㷺µÄÓ²¼þ¼æÈÝÐÔ£¬Äܹ»Ö§³Ö´ÓµÍ¶Ëµ½¸ß¶ËµÄ¸÷ÖÖÍø¿¨É豸
È»¶ø£¬ÕâÒ²ÒªÇóϵͳ¹ÜÀíÔ±¾ß±¸Ò»¶¨µÄ¼¼Êõ֪ʶ£¬ÒÔ±ãÔÚ±ØÒªÊ±²é¿´¡¢¸üлòµ÷ÊÔÍø¿¨Çý¶¯£¬ÒÔÓ¦¶ÔÌØ¶¨µÄÓ²¼þÐèÇó»ò½â¾öDZÔÚµÄÎÊÌâ
¶þ¡¢²é¿´Íø¿¨Çý¶¯µÄ·½·¨ ÔÚLinuxϵͳÖУ¬²é¿´Íø¿¨Çý¶¯ÐÅÏ¢µÄ·½·¨¶àÖÖ¶àÑù£¬ÒÔÏÂÊÇһЩ³£ÓÃÇÒÓÐЧµÄÊֶΣº 1.ʹÓÃlspciÃüÁ `lspci`£¨List PCI£©ÊÇÒ»¸öÁгöËùÓÐPCI×ÜÏߺÍÁ¬½ÓÉ豸µÄÃüÁî
ͨ¹ýÌí¼Ó`-k`Ñ¡Ï¿ÉÒÔÏÔʾÿ¸öÉ豸µÄÄÚºËÄ£¿éÐÅÏ¢£¬°üÀ¨Íø¿¨Çý¶¯
bash lspci -k | grep -EA3 Ethernet|Network ¸ÃÃüÁÁгöϵͳÖÐËùÓÐÓëÍøÂçÏà¹ØµÄPCIÉ豸¼°Æä¶ÔÓ¦µÄÇý¶¯Ä£¿é
2.ʹÓÃethtoolÃüÁ `ethtool`ÊÇÒ»¸öÓÃÓÚ²éѯºÍ¿ØÖÆÍø¿¨ÉèÖõŤ¾ß
ͨ¹ý`ethtool -i`Ñ¡Ï¿ÉÒÔÏÔÊ¾ÌØ¶¨Íø¿¨µÄÇý¶¯ÐÅÏ¢
bash ethtool -i eth0 ÆäÖÐ`eth0`ÊÇÍø¿¨½Ó¿ÚµÄÃû³Æ£¬¸ù¾Ýʵ¼ÊÇé¿öÌæ»»
3.²é¿´ÏµÍ³ÈÕÖ¾£º ϵͳÈÕÖ¾Èç`/var/log/syslog`»ò`/var/log/messages`£¨È¡¾öÓÚ·¢Ðа棩ÖУ¬Ò²¿ÉÄܰüº¬Íø¿¨Çý¶¯¼ÓÔØºÍ³õʼ»¯µÄÏà¹ØÐÅÏ¢
ʹÓÃ`grep`ÃüÁî¿ÉÒÔɸѡ³öÓëÍø¿¨Çý¶¯Ïà¹ØµÄÈÕÖ¾ÌõÄ¿
bash grep -i ethernet /var/log/syslog 4.ʹÓÃdmesgÃüÁ `dmesg`£¨display message or driver message£©ÃüÁî¿ÉÒÔÏÔʾÄں˻·»º³åÇøÖеÄÏûÏ¢£¬°üÀ¨Çý¶¯¼ÓÔØÊ±µÄÊä³öÐÅÏ¢
Õâ¶ÔÓÚÕï¶ÏÇý¶¯¼ÓÔØÊ§°ÜµÄÎÊÌâÌØ±ðÓÐÓÃ
bash dmesg | grep -i eth 5.¼ì²é/sys/class/netĿ¼£º ÔÚLinuxÖУ¬Ã¿¸öÍøÂç½Ó¿Ú¶¼ÓÐÒ»¸ö¶ÔÓ¦µÄĿ¼ÔÚ`/sys/class/net`ÏÂ
ͨ¹ý²é¿´ÕâЩĿ¼ÏµÄ`device/driver`Á´½Ó£¬¿ÉÒÔÖ±½ÓÕÒµ½Çý¶¯³ÌÐòµÄ·¾¶
bash ls -l /sys/class/net/eth0/device/driver Èý¡¢³£¼ûÎÊÌâ½â¾ö²ßÂÔ ¾¡¹ÜLinuxϵͳ¶ÔÍø¿¨Çý¶¯µÄÖ§³Ö·Ç³£¹ã·º£¬µ«ÔÚʵ¼ÊʹÓÃÖÐÈÔ¿ÉÄÜÓöµ½¸÷ÖÖÎÊÌâ
ÒÔÏÂÊÇһЩ³£¼ûµÄÍø¿¨Çý¶¯ÎÊÌâ¼°½â¾ö²ßÂÔ£º 1.Çý¶¯Î´¼ÓÔØ»ò¼ÓÔØÊ§°Ü£º - È·ÈÏÍø¿¨Ðͺţ¬È·±£ÏµÍ³Ö§³Ö¸ÃÐͺŵÄÇý¶¯
- ¼ì²éÄں˰汾ÓëÇý¶¯¼æÈÝÐÔ
-ʹÓÃ`modprobe`ÃüÁîÊÖ¶¯¼ÓÔØÇý¶¯
- ²é¿´ÏµÍ³ÈÕÖ¾ºÍ`dmesg`Êä³ö£¬Ñ°ÕÒ¼ÓÔØÊ§°ÜµÄ¾ßÌåÔÒò
2.ÍøÂçÐÔÄܵÍÏ£º - ¸üе½×îа汾µÄÇý¶¯£¬ÒÔÀûÓÃÐÔÄÜÓÅ»¯ºÍbugÐÞ¸´
- µ÷ÕûÍø¿¨ÉèÖã¬Èç¹Ø±Õ²»±ØÒªµÄÓ²¼þÌØÐÔ£¨ÈçWOL£¬Wake-on-LAN£©
- ¼ì²éÍøÂçÅäÖã¬È·±£Ê¹ÓúÏÊʵÄÍøÂçÐÒéºÍ²ÎÊý
3.ÍøÂç²»Îȶ¨»òƵ·±µôÏߣº - ¼ì²éÎïÀíÁ¬½Ó£¬È·±£ÍøÏß¡¢½»»»»úµÈÓ²¼þÎÞ¹ÊÕÏ
- ³¢ÊÔ½ûÓò¢ÖØÐÂÆôÓÃÍøÂç½Ó¿Ú
- ¿¼ÂÇÍø¿¨¹Ì¼þÉý¼¶»ò»ØÍËÖÁ¾É°æ±¾Çý¶¯
4.°²È«Â©¶´£º - ¶¨ÆÚ¹Ø×¢³§ÉÌ·¢²¼µÄ°²È«¹«¸æºÍ¸üУ¬¼°Ê±°²×°²¹¶¡
- ʹÓð²È«¹¤¾ßɨÃèϵͳ£¬¼ì²âDZÔÚµÄÇý¶¯²ã©¶´
ËÄ¡¢ÓÅ»¯½¨Òé ΪÁ˽øÒ»²½ÌáÉýLinuxϵͳÖÐÍø¿¨Çý¶¯µÄÐÔÄܺÍÎȶ¨ÐÔ£¬ÒÔÏÂÊÇһЩʵÓõÄÓÅ»¯½¨Ò飺 1.ʹÓÃÄÚºË×Ô´øµÄÇý¶¯£º ³ý·ÇÓÐÌØÊâÐèÇ󣬷ñÔò½¨ÒéʹÓÃLinuxÄÚºË×Ô´øµÄÇý¶¯£¬ÒòΪËüÃǾ¹ýÁ˹㷺µÄ²âÊÔºÍÓÅ»¯
2.µ÷ÕûÖжϴ¦Àí²ßÂÔ£º ¶ÔÓڸ߸ºÔØ»·¾³£¬¿ÉÒÔ¿¼Âǵ÷ÕûÍø¿¨µÄÖжϴ¦Àí²ßÂÔ£¬ÈçʹÓÃNAPI£¨Native Polling Interface£©»òRPS£¨Receive Packet Steering£©À´·ÖÉ¢CPU¸ºÔØ
3.ÓÅ»¯ÍøÂç¶ÑÕ»²ÎÊý£º ¸ù¾Ýʵ¼ÊÐèÇóµ÷ÕûTCP/IPÍøÂç¶ÑÕ»µÄ²ÎÊý£¬ÈçTCP´°¿Ú´óС¡¢Á¬½Ó³¬Ê±µÈ£¬ÒÔÓÅ»¯ÍøÂçÍÌÍÂÁ¿ºÍÑÓ³Ù
4.ʹÓÃÓ²¼þ¼ÓËÙ£º Èç¹ûÓ²¼þÖ§³Ö£¬ÆôÓÃÓ²¼þ¼ÓËÙ¹¦ÄÜ£¨ÈçTOE£¬TCP Offload Engine£©¿ÉÒÔÏÔÖø¼õÇáCPU¸ºµ££¬Ìá¸ßÍøÂçÐÔÄÜ
5.¼à¿ØÓëÕï¶Ï£º ¶¨ÆÚʹÓÃÍøÂç¼à¿Ø¹¤¾ß£¨Èç`iftop`¡¢`nload`£©ºÍÍøÂçÕï¶Ï¹¤¾ß£¨Èç`traceroute`¡¢`ping`£©¼ì²éÍøÂç״̬ºÍÐÔÄÜ£¬¼°Ê±·¢ÏÖ²¢½â¾öÎÊÌâ
½áÓï Íø¿¨Çý¶¯×÷ΪLinuxϵͳÖÐÍøÂçͨÐŵĻùʯ£¬ÆäÖØÒªÐÔ²»ÑÔ¶øÓ÷
ͨ¹ýÕÆÎÕ²é¿´Íø¿¨Çý¶¯ÐÅÏ¢µÄ·½·¨£¬Á˽ⳣ¼ûÎÊÌâµÄ½â¾ö·½°¸£¬ÒÔ¼°ÊµÊ©ÓÐЧµÄÓÅ»¯²ßÂÔ£¬ÏµÍ³¹ÜÀíÔ±ºÍ¿ª·¢ÕßÄܹ»ÏÔÖøÌáÉýϵͳµÄÍøÂçͨÐÅÄÜÁ¦ºÍÓû§ÌåÑé
Ëæ×ż¼ÊõµÄ²»¶Ï½ø²½£¬LinuxÉçÇø½«¼ÌÐøÍÆ¶¯Íø¿¨Çý¶¯µÄ´´ÐÂÓëÓÅ»¯£¬Îª¹¹½¨¸ü¼Ó¸ßЧ¡¢°²È«µÄÍøÂç»·¾³µì¶¨¼áʵ»ù´¡