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

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ѧϰ£¨Ò»£©


ÔÚLinuxÖУ¬²»ÓüüÈëÓ¦ÓóÌÐòµÄÍêÕû·¾¶¶øÆô¶¯Ó¦ÓóÌÐòµÄ·½·¨£º
Ô­Òò£º
   Ö®ËùÒÔҪʹÓÃÍêÕû·¾¶ÃûÀ´Æô¶¯³ÌÐòÊÇÓÉÓÚ£¬¿ÉÖ´ÐÐÎļþûÓб»·ÅÖÃÔÚÄãµÄÓû§ shell »·¾³ËùÖªµÄĿ¼ÖУ¨Èç /usr/local/bin £©¡£
 ·½·¨£º±à¼­PATH±äÁ¿
    Èç¹ûÄãÐèҪƵ·±µØÆô¶¯Î»ÓÚ shell ËÑË÷µÄ·¾¶Ö®ÍâµÄ³ÌÐò£ ......

linuxÏÂconfigureÃüÁîÏêϸ½éÉÜ

Linux»·¾³ÏµÄÈí¼þ°²×°£¬²¢²»ÊÇÒ»¼þÈÝÒ×µÄÊÂÇé;Èç¹ûͨ¹ýÔ´´úÂë±àÒëºóÔÚ°²×°£¬µ±È»ÊÂÇé¾Í¸üΪ¸´ÔÓһЩ;ÏÖÔÚ°²×°¸÷ÖÖÈí¼þµÄ½Ì³Ì¶¼·Ç³£ÆÕ±é;µ«
Íò±ä²»ÀëÆäÖУ¬¶Ô»ù´¡ÖªÊ¶µÄÔúÊµÕÆÎÕ£¬°²×°¸÷ÖÖÈí¼þµÄÎÊÌâ¾ÍÓ­Èжø½âÁË¡£Configure½Å±¾ÅäÖù¤¾ß¾ÍÊÇ»ù´¡Ö®Ò»£¬ËüÊÇautoconfµÄ¹¤¾ßµÄ»ù±¾
Ó¦Óá£
ÓëһЩ¼¼ÇÉÏà±È£¬ConfigureÏԵûù ......

Linux ¹ÜÀí¹¤¾ß½éÉÜ

¡¾IT168 ·þÎñÆ÷
ѧԺ
¡¿
  LinuxÊÇÒ»¸ö¶àÓû§µÄ²Ù×÷ϵͳ
£¬ËýÓÐÍêÃÀµÄÓû§¹ÜÀí¹¤¾ß£¬ÕâЩ¹¤¾ß°üÀ¨Óû§µÄ²éѯ¡¢Ìí¼Ó¡¢Ð޸ģ¬ÒÔ¼°Óû§Ö®¼äÏ໥Çл»µÄ¹¤¾ßµÈ£»Í¨¹ýÕâЩ¹¤¾ß£¬ÎÒÃÇÄܰ²È«
¡¢ÇáËɵÄÍê³ÉÓû§¹ÜÀí£»
    ÔÚÕâÀïÎÒÃÇÒªÒýÈëÓû§¿ØÖƹ¤¾ßµÄ¸ÅÄ±ÈÈç¶ÔÓû§Ìí¼ÓµÄuseradd»òadduser £¬¶ÔÓû§ ......

Tuning TCP for Linux 2.4 and 2.6

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 ......

vmware ÏÂlinuxÉÏÍøÉèÖÃ

http://blog.163.com/lwzy-crack/blog/static/95272042200910218176623/
Ö÷»úΪWindowsXPϵͳ£¬VMwareÐéÄâ»úÀï°²×°Linux²Ù×÷ϵͳ¡£°²×°ÍêVMwareºó£¬Ö÷»úµÄÍøÂçÁ¬½ÓÀïÃæ³öÏÖÁËÁ½¸öеÄÁ¬½Ó£¬¼´VMware Network Adapter VMnet1ºÍVMware Network Adapter VMnet8Èçͼ¡£ÐéÄâ»úÀï°²×°µÄϵͳ¾ÍÊÇ¿¿ÕâÁ½¸öÐéÄâÍø¿¨À´ÁªÍøµÄ¡££¨ÈçÏÂÍ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ