linuxÄÚ´æ¹ÜÀíÖ®·ÇÁ¬ÐøÎïÀíµØÖ··ÖÅä(vmalloc
Ç°ÃæÎÒÃÇÒѾ·ÖÎöÁËlinuxÈçºÎÀûÓûï°éϵͳ,slab·ÖÅäÆ÷·ÖÅäÄÚ´æ,ÓÃÕâЩ·½·¨µÃµ½µÄÄÚ´æÔÚÎïÀíµØÖ·É϶¼ÊÇÁ¬ÐøµÄ,È»¶ø,ÓÐЩʱºò,ÿ´ÎÇëÇóÄÚ´æÊ±,ϵͳ¶¼·ÖÅäÎïÀíµØÖ·Á¬ÐøµÄÄÚ´æ¿éÊDz»ºÏÊʵÄ,¿ÉÒÔÀûÓÃС¿éÄÚ´æ“Á¬½Ó”³É´ó¿é¿ÉʹÓõÄÄÚ´æ.ÕâÔÚ²Ù×÷ϵͳÉè¼ÆÖÐÒ²±»³ÆÎª “ÄÚ´æÆ´½Ó”,ÏÔÈ»,ÄÚ´æÆ´½ÓÔÚÐèÒª½Ï´óÄÚ´æ,¶øÄÚ´æ·ÃÎÊÏà±È֮ϲ»ÊÇºÜÆµ·±µÄÇé¿öÏÂÊDZȽÏÓÐЧµÄ.
¡¡¡¡ÔÚlinuxÄÚºËÖÐÓÃÀ´¹ÜÀíÄÚ´æÆ´½ÓµÄ½Ó¿ÚÊÇvmalloc/vfree.ÓÃvmalloc·ÖÅäµÃµ½µÄÄÚ´æÔÚÏßÐÔµØÖ·ÊÇÆ½»¬µÄ,µ«ÊÇÎïÀíµØÖ·ÉÏÊÇ·ÇÁ¬ÐøµÄ.
¡¡¡¡Ò»:×¼±¸ÖªÊ¶:
¡¡¡¡LinuxÓÃvm_struct½á¹¹À´±íʾvmallocʹÓõÄÏßÐÔµØÖ·.vmallocËùʹÓõÄÏßÐÔµØÖ·Çø¼äΪ: VMALLOC_START VMALLOC_END.½èÓÃ<<Understanding.the.Linux.Kernel.3rd>>ÖеÄÒ»¸±²åͼ,ÈçÏÂʾ:
¡¡¡¡´ÓÉÏͼÖÐÎÒÃÇ¿ÉÒÔ¿´µ½Ã¿Ò»¸övmalloc_areaÓÃ4KB¸ô¿ª,ÕâÑù×öÊÇΪÁ˺ÜÈÝÒ×¾ÍÄܲ¶×½µ½Ô½½ç·ÃÎÊ,ÒòΪÖмäÊÇÒ»¸ö “¿Õ¶´”.
¡¡¡¡¶þ:Ïà¹ØµÄÊý¾Ý½á¹¹
¡¡¡¡ÏÂÃæÀ´·ÖÎöÒ»ÏÂvmalloc areaµÄÊý¾Ý½á¹¹:
¡¡¡¡struct vm_struct {
¡¡¡¡void *addr; //ÐéÄâµØÖ·
¡¡¡¡unsigned long size; //vmµÄ´óС
¡¡¡¡unsigned long flags; //vmµÄ±êÖ¾
¡¡¡¡struct page **pages; //vmËùÓ³ÉäµÄpage
¡¡¡¡unsigned int nr_pages; //page¸öÊý
¡¡¡¡unsigned long phys_addr; //¶ÔÓ¦µÄÆðʼÎïÀíµØÖ·
¡¡¡¡struct vm_struct *next; //ÏÂÒ»¸övm.ÓÃÀ´ÐγÉÁ´±í
¡¡¡¡}
¡¡¡¡È«¾Ö±äÁ¿vmlistÓÃÀ´¹ÜÀívm¹¹³ÉµÄÁ´±í
¡¡¡¡È«¾Ö±äÁ¿vmlistÓÃÓÚ·ÃÎÊvmlistËùʹÓõÄÐźÅÁ¿
¡¡¡¡¶ÔÓÚvm_structÓÐÁ½¸ö³£ÓõIJÙ×÷: get_vm_area/remove_vm_area
¡¡¡¡get_vm_area:ÓÃÀ´·ÖÅäÒ»¸öºÏÊÊ´óСµÄvm½á¹¹,·ÖÅä³É¹¦Ö®ºó,½«ÆäÁ´Èëµ½vmlistÖÐ,´úÂëÔÚ mm/vmalloc.cÖÐ.ÈçÏÂʾ:
¡¡¡¡//sizeΪvmµÄ´óС
¡¡¡¡struct vm_struc
Ïà¹ØÎĵµ£º
ÔÚLinuxÖУ¬²»ÓüüÈëÓ¦ÓóÌÐòµÄÍêÕû·¾¶¶øÆô¶¯Ó¦ÓóÌÐòµÄ·½·¨£º
ÔÒò£º
Ö®ËùÒÔҪʹÓÃÍêÕû·¾¶ÃûÀ´Æô¶¯³ÌÐòÊÇÓÉÓÚ£¬¿ÉÖ´ÐÐÎļþûÓб»·ÅÖÃÔÚÄãµÄÓû§ shell »·¾³ËùÖªµÄĿ¼ÖУ¨Èç /usr/local/bin £©¡£
·½·¨£º±à¼PATH±äÁ¿
Èç¹ûÄãÐèҪƵ·±µØÆô¶¯Î»ÓÚ shell ËÑË÷µÄ·¾¶Ö®ÍâµÄ³ÌÐò£ ......
Linux»·¾³ÏµÄÈí¼þ°²×°£¬²¢²»ÊÇÒ»¼þÈÝÒ×µÄÊÂÇé;Èç¹ûͨ¹ýÔ´´úÂë±àÒëºóÔÚ°²×°£¬µ±È»ÊÂÇé¾Í¸üΪ¸´ÔÓһЩ;ÏÖÔÚ°²×°¸÷ÖÖÈí¼þµÄ½Ì³Ì¶¼·Ç³£ÆÕ±é;µ«
Íò±ä²»ÀëÆäÖУ¬¶Ô»ù´¡ÖªÊ¶µÄÔúÊµÕÆÎÕ£¬°²×°¸÷ÖÖÈí¼þµÄÎÊÌâ¾ÍÓÈжø½âÁË¡£Configure½Å±¾ÅäÖù¤¾ß¾ÍÊÇ»ù´¡Ö®Ò»£¬ËüÊÇautoconfµÄ¹¤¾ßµÄ»ù±¾
Ó¦Óá£
ÓëһЩ¼¼ÇÉÏà±È£¬ConfigureÏԵûù ......
¡¾IT168 ·þÎñÆ÷
ѧԺ
¡¿
LinuxÊÇÒ»¸ö¶àÓû§µÄ²Ù×÷ϵͳ
£¬ËýÓÐÍêÃÀµÄÓû§¹ÜÀí¹¤¾ß£¬ÕâЩ¹¤¾ß°üÀ¨Óû§µÄ²éѯ¡¢Ìí¼Ó¡¢Ð޸ģ¬ÒÔ¼°Óû§Ö®¼äÏ໥Çл»µÄ¹¤¾ßµÈ£»Í¨¹ýÕâЩ¹¤¾ß£¬ÎÒÃÇÄܰ²È«
¡¢ÇáËɵÄÍê³ÉÓû§¹ÜÀí£»
ÔÚÕâÀïÎÒÃÇÒªÒýÈëÓû§¿ØÖƹ¤¾ßµÄ¸ÅÄ±ÈÈç¶ÔÓû§Ìí¼ÓµÄuseradd»òadduser £¬¶ÔÓû§ ......
Tuning TCP for Linux 2.4 and 2.6
NB: Recent versions of Linux (version 2.6.17 and later) have full autotuning with 4 MB maximum buffer sizes. Except in some rare cases, manual tuning is unlikely to substantially improve the performance of these kernels over most network paths, and is not generally ......
http://blog.163.com/lwzy-crack/blog/static/95272042200910218176623/
Ö÷»úΪWindowsXPϵͳ£¬VMwareÐéÄâ»úÀï°²×°Linux²Ù×÷ϵͳ¡£°²×°ÍêVMwareºó£¬Ö÷»úµÄÍøÂçÁ¬½ÓÀïÃæ³öÏÖÁËÁ½¸öеÄÁ¬½Ó£¬¼´VMware Network Adapter VMnet1ºÍVMware Network Adapter VMnet8Èçͼ¡£ÐéÄâ»úÀï°²×°µÄϵͳ¾ÍÊÇ¿¿ÕâÁ½¸öÐéÄâÍø¿¨À´ÁªÍøµÄ¡££¨ÈçÏÂÍ ......