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
Ïà¹ØÎĵµ£º
<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
A:link { so-language: zxx }
-->
Ëùν“¿¬Ä£”£¨
Model
£©¾ÍÊÇ°ñÑùµÄÒâ˼¡£ÄÇô£¬ËÊÇ
Linux
³§ÉÌ£¨¹«ÈÏ£©µÄ°ñÑùÄØ£¿ÄãÏëÖªµÀÂð£¿
  ......
ÔÚLinuxϲ鿴ApacheµÄ¸ºÔØÇé¿ö£¬ÒÔǰҲ˵¹ý£¬×î¼òµ¥ÓÐÓÐЧµÄ·½Ê½¾ÍÊDz鿴Apache Server Status
£¨ÈçºÎ¿ªÆôApache Server Status
µãÕâÀ£¬ÔÚûÓÐ
¿ªÆôApache Server StatusµÄÇé¿öÏ£¬»ò°²×°µÄÊÇÆäËûµÄWeb Server£¬±ÈÈçNginxµÄʱºò£¬ÏÂÃæµÄÃüÁî¾ÍÌåÏÖ³ö×÷ÓÃÁË¡£
ps -ef|grep httpd|wc -l
ÃüÁî
#ps
-ef|grep httpd| ......
### Section 1: Global Environment
//µ±·þÎñÆ÷ÏìÓ¦Ö÷»úÍ·£¨header£©ÐÅϢʱÏÔʾApacheµÄ°æ±¾ºÍ²Ù×÷ϵͳÃû³Æ
ServerTokens OS
//ÉèÖ÷þÎñÆ÷µÄ¸ùĿ¼
ServerRoot "/etc/httpd"
#ScoreBoardFile run/httpd.scoreboard
//ÉèÖÃÔËÐÐApacheʱʹÓõÄPidFileµÄ·¾¶
PidFile run/httpd.pid
//Èô300ÃëºóûÓÐÊÕµ½»òËͳöÈκÎÊ ......
LinuxÏÂÒ»°ã×î³£ÓõŤ¾ßwu-ftpd.
wu-ftpdµÄ°²×°·Ç³£ÈÝÒ×£¬´ó¶àÊý°æ±¾µÄLinuxÖж¼°üº¬ÁËwu-ftpdµÄrpmÈí¼þ°ü£¬Äã¿ÉÒÔÔÚ°²×°Linuxʱָ¶¨×°Èë¡£Èç¹ûÄãÏë×ÔÐбàÒëÔ´´úÂ룬Ҳ¿ÉÒÔµ½ftp://ftp.wu-ftpd.orgÏÂÔØ×îа汾µÄÔ´´úÂë°ü¡£
°²×°ºÃÒԺ󣬿ÉÒÔÓÃckconfigÃüÁîÀ´¼ì²éÊÇ·ñÒѾÕýÈ·°²×°¡£ÔÚ/etc/passwdÖпÉÒÔÖ¸¶¨ftpÓ ......