Linux TCP/IPÐÒéÕ»µÄͨÓñàÂëģʽ
ת×Ô£ºhttp://blog.chinaunix.net/u/26185/showart_475934.html
ºÍÆäËûÄں˹¦ÄÜÒ»Ñù£¬Ã¿¸öÍøÂ繦Äܶ¼ÊÇÄں˳ÉÔ±ÖеÄÒ»¸ö¡£Òò´Ë£¬Ëü±ØÐëºÏÀíÇÒ¹«Æ½µÄʹÓÃÄÚ´æ,
CPUºÍÆäËû¹²Ïí×ÊÔ´¡£¾ø´ó¶àÊý¹¦Äܲ¢·ÇÄÚºËÖÐÒ»¶Î¶ÀÁ¢µÄ³ÌÐò£¬¶øÊǸù¾Ý¸Ã¹¦Äܶø»ò¶à»òÉÙµÄÓëÄÚºËÖÐÆäËû²¿·ÖÏ໥ӰÏì¡£Òò´ËËüÃÇ×ÜÊÇÊÔͼ£¬¾¡¿ÉÄܵģ¬Ê¹ÓÃ
ÀàËÆµÄÌåϵ½á¹¹À´ÊµÏÖÀàËÆµÄ¹¦ÄÜ¡£
¶ÔÐí¶àÄÚºË×é¼þÀ´ËµÓÐЩÐèÇóÊÇͨÓõ쬱ÈÈçΪͬһÊý¾Ý½á¹¹·ÖÅäºÃ¼¸¸öʵÀý£¬»òÕ߸ú×ÙÒ»¸öÊý¾Ý½á¹¹µÄ²Î¿¼ÒÔ±ÜÃâ²»°²È«µÄÄÚ´æÖØ·ÖÅ䣬µÈµÈ¡£ÏÂÃæÎÒÃÇÀ´¿´linux½â¾öÕâЩÐèÇóµÄһЩͨÓõķ½·¨¡£ÎÒÃÇÒ²»á̸µ½Ôڲ鿴Äں˱àÂëʱ¿ÉÄÜÓöµ½µÄͨÓõıàÂë¼¼ÇÉ¡£
1.»º´æ
ÄÚºËʹÓÃkmallocºÍkfreeÀ´·ÖÅäºÍÊÍ·ÅÄÚ´æ¡£ÕâÁ½¸öº¯ÊýµÄʹÓ÷½·¨ºÍÓû§¿Õ¼äµÄº¯Êý malloc ºÍfreeµÄʹÓ÷½·¨ÀàËÆ.
Ò»¸öÄÚºË×é¼þͨ³£ÐèÒª·ÖÅäÒ»¸öÊý¾Ý½á¹¹µÄ¶à¸öʵÀý¡£Èç¹û·ÖÅäºÍÊÍ·ÅÆµ·±·¢Éú£¬Ïà¹ØÄÚºË×é¼þµÄ³õʼ»¯º¯Êý(±ÈÈç·ÓÉ×ÓϵͳÖеÄfib_hash_initº¯Êý)ͨ³£»á·ÖÅäÒ»¸öÌØÊâµÄÄڴ滺´æÒÔ¼ÓËÙÄÚ´æ·ÖÅä¡£µ±Ò»¸öÄÚ´æ¿éÊÍ·Åʱ£¬Ëü»á±»·µ»Ø¸øÓë·ÖÅäʱÏàͬµÄÄڴ滺´æ¡£
ÒÔÏÂÊÇһЩÐèÒªÄÚºËÀ´Î¬»¤Äڴ滺´æµÄÍøÂçÊý¾Ý½á¹¹£º
Socket buffer descriptors
Õâ¸ö»º´æ£¬ÓÉnet/core/sk_buff.cÖеÄskb_init·ÖÅ䣬ËüÓÃÓÚ·ÖÅäsk_buff½á¹¹¡£sk_buff½á¹¹¿ÉÄÜÊÇÍøÂç×ÓϵͳÖзÖÅäºÍÊÍ·ÅÆµÂÊ×î¸ßµÄÊý¾Ý½á¹¹¡£
Neighboring protocol mappings
ÁÚ¾ÓÐÒéʹÓÃÄڴ滺´æÀ´·ÖÅäneighbour½á¹¹£¬Õâ¸ö½á¹¹±£´æL3µ½L2µÄµØÖ·Ó³Éä¹ØÏµ¡£
Routing tables
·ÓÉ´úÂëʹÓÃÁ½¸öÄڴ滺´æÀ´·ÖÅäÁ½ÖÖÊý¾Ý½á¹¹£¬ÕâÁ½ÖÖÊý¾Ý½á¹¹¶¨ÒåÁË·ÓÉ±í¡£
ÒÔÏÂÊÇʹÓÃÄڴ滺´æÊ±»áÓõ½µÄһЩº¯Êý£º
kmem_cache_create
kmem_cache_destroy
½¨Á¢»òÏú»Ù»º´æ .
kmem_cache_alloc
kmem_cache_free
´ÓÄڴ滺´æÖзÖÅä»òÊÍ·ÅÒ»¸ö¶ÔÏó¡£ËüÃÇͨ³£»áÔÚÒ»¸ö°ü×°º¯ÊýÖб»µ÷Óã¬Õâ¸ö°ü×°º¯ÊýÔÚ¸ü¸ßµÄ²ã´ÎÉÏ´¦Àí·ÖÅäºÍÊͷŵÄÇë
Çó¡£±ÈÈ磺kfree_skbº¯Êý´¦ÀíÊÍ·Åsk_buffµÄÇëÇ󣬵«ÊÇÖ»ÓÐÔÚËùÓжԴ˽ṹµÄÒýÓÃÊÍ·ÅÖ®ºó²¢ÇÒÏà¹ØµÄ×Óϵͳ£¨±ÈÈ磬·À»ðǽ£©ÒÑÖ´ÐÐÁËÇå³ý²Ù
×÷Ö®ºó£¬²Åµ÷ÓÃkmem_cache_freeÊÍ·ÅÕâ¸ösk_buff¡£
´ÓÒ»¸ö¸ø¶¨µÄÄڴ滺´æÖÐÄܹ»·ÖÅä¶àÉÙ¸öʵÀýµÄÊýÁ¿ÏÞÖÆÍ¨³£ÔÚkmem_cache_allocµÄ°ü×°º¯ÊýÖÐÖ¸¶¨£¬µ«ÊÇÓÐʱҲ¿ÉÒÔͨ¹ý/procÎļþϵͳÖеIJÎÊýÀ´µ÷Õû¡£
2. »º´æºÍ¹þÏ£±í
ʹÓûº´æÀ´ÌáÉýÐÔÄܵļ¼Çɺܳ£¼û¡£ÔÚÍøÂç´úÂëÖУ¬ÓÐL3µ½L2Ó³ÉäµÄ»º´æ(±ÈÈçIPV4ÖеÄARP»º´æ)£¬Â·ÓÉ±í»º´æ£¬µÈ
Ïà¹ØÎĵµ£º
Æô¶¯mysql: /etc/rc.d/init.d/mysql start
ÐÞ¸ÄÃÜÂë: ¸ñʽ£ºmysqladmin -uÓû§Ãû -p¾ÉÃÜÂë password ÐÂÃÜÂë
ʹÓÃÃÜÂëµÇ¼: mysql -u root -p
ÏÔʾÊý¾Ý¿â: show databases;
Ñ¡ÔñÊý¾Ý¿â: use Êý¾Ý¿âÃû;
ÏÔʾ±í: show tables;
ÏÔʾ±í½á¹¹: descibe ±íÃû;
Ô¶³ÌµÇ¼mysqlÐèÒª¿ªÆôÈ ......
ÔÚdebian Linux·þÎñÆ÷µÄÈÕÖ¾ÖУ¬dmesg³öÏÖÀàËÆµÄÐÅÏ¢£º
TCP: Treason uncloaked! Peer 202.106.38.7:57824/80 shrinks window 3573023813:3573023814. Repaired.
TCP: Treason uncloaked! Peer 202.106.38.7:57824/80 shrinks window 3573023813:3573023814. Repaired.
TCP: Treason uncloaked! Peer 202.99.99.211:3760 ......
Èç¹ûÊÇwinϵģ¬ÎÒ¸öÈËÍÆ¼öËÑË÷ÏÂÒ»¼ü°²×°°ü£¡ÎÒÓõľÍÊÇphp+mysql£¨×÷Õ߽УºÑ§Ï°À×·æºÃ°ñÑù£© °²×°Ò»ÏÂÈ«¶¼¿ÉÒÔÕý³£Ê¹ÓÃÁË£¬²»ÐèÒªµ÷Õû£¡
ÏÂÃæÊÇLinuxϰ²×°·½·¨£¡
¡¡1¡¢ÏÂÔØMySQLµÄ°²×°Îļþ
¡¡¡¡°²×°MySQLÐèÒªÏÂÃæÁ½¸öÎļþ£º
¡¡¡¡MySQL-server-5.0.26-0.i386.rpm
¡¡¡¡MySQL-client-5.0.26-0.i386.rpm
¡¡¡¡ÏÂÔØµØÖ·Î ......
µ±Éϲã×¼±¸ºÃÒ»¸ö°üÖ®ºó£¬½»¸øÏÂÃæÕâ¸öº¯Êý´¦Àí
int dev_queue_xmit(struct sk_buff *skb)
{
struct net_device *dev = skb->dev;
struct netdev_queue *txq;
struct Qdisc *q;
int rc = -ENOMEM;
/* GSO will handle the following emulations directly. */
if (netif_needs_gso(dev, skb))
goto gso; ......