Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

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»º´æ)£¬Â·ÓÉ±í»º´æ£¬µÈ


Ïà¹ØÎĵµ£º

linuxÏÂmysqlµÄʹÓÃ


Æô¶¯mysql:  /etc/rc.d/init.d/mysql start
ÐÞ¸ÄÃÜÂë: ¸ñʽ£ºmysqladmin -uÓû§Ãû -p¾ÉÃÜÂë password ÐÂÃÜÂë
ʹÓÃÃÜÂëµÇ¼:  mysql -u root -p
ÏÔʾÊý¾Ý¿â:  show databases;
Ñ¡ÔñÊý¾Ý¿â:  use Êý¾Ý¿âÃû;
ÏÔʾ±í:  show tables;
ÏÔʾ±í½á¹¹:  descibe ±íÃû;
Ô¶³ÌµÇ¼mysqlÐèÒª¿ªÆôÈ ......

linux crontab ¼Æ»®ÈÎÎñ

Crontab:linux¼Æ»®ÈÎÎñ¡£·Ç³£ÓÐÓõÄÒ»¸öÃüÁ¿ÉÒÔÔÚÖÜÆÚÐԵ͍ÒåÒ»¸öÈÎÎñµÄÖ´ÐÐʱ¼ä¡£×î¶ÌµÄÖÜÆÚΪ1·ÖÖÓ¡£ÒòΪcrontabÊÇÊØ»¤½ø³Ì£¬Ã¿¹ý1·ÖÖÓ»á¼ì²éÒ»´Î¡£
Crontab –l: Áгöµ±Ç°µÄÈÎÎñÁÐ±í¡£
Crontab –e:±à¼­µ±Ç°µÄÈÎÎñÁÐ±í¡£¿ÉÒÔͨ¹ývi±à¼­Æ÷À´±à¼­ÈÎÎñÁÐ±í¡£
¸ñʽÈçÏ£º
·Ö ʱ ÈÕ Ô ÖÜ ÃüÁî
¿´¼¸¸öÀý×Ó ......

LINUX½ø³ÌµÈÐÅÏ¢²é¿´

²é¿´·¢ÐаæÐÅÏ¢£º
lsb_release -a Õâ¸ö×îÏêϸ
²é¿´Äں˺ͲÙ×÷ϵͳλÊý£º
uname -a
64λ²Ù×÷ϵͳÓÐÀàËÆÐÅÏ¢£º.... x86_64 x86_64 x86_64...
32λ²Ù×÷ϵͳÓÐÀàËÆÐÅÏ¢£º.... i686 i686 i386...
²é¿´cpuÐÅÏ¢£º
more /proc/cpuinfo
²é¿´ºÍ¿ØÖÆÏµÍ³·þÎñ£¨Èç iptables·À»ðǽµÄ¿ªºÍ¹Ø£©£º
chkconfig ²é¿´ºÍÉ趨·þÎñÔÚ²»Í¬ ......

linux´ÅÅÌIO²é¿´

hiphop_linux
linux´ÅÅÌIO²é¿´(iostat)
##############
#
#    ²Ù×÷
#
##############
# iostat -x 1 10
Linux 2.6.18-92.el5xen    02/03/2009
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          ......

Linux·¢Ëͺ¯Êýdev_queue_xmit·ÖÎö

µ±Éϲã×¼±¸ºÃÒ»¸ö°üÖ®ºó£¬½»¸øÏÂÃæÕâ¸öº¯Êý´¦Àí
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; ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ