ºìÁªLinuxÃÅ»§
Linux°ïÖú

Linux£ºÈÃÄÚ´æ²»ÔÙй©

·¢²¼Ê±¼ä:2006-08-14 19:40:08À´Ô´:ºìÁª×÷Õß:jpl2000
¡¡¡¡±¾ÎĽ«½éÉÜÄÚ´æй©µÄ¼ì²â·½·¨ÒÔ¼°ÏÖÔÚ¿ÉÒÔʹÓõŤ¾ß¡£Õë¶ÔÄÚ´æй©µÄÎÊÌ⣬±¾ÎÄÌṩ×ã¹»µÄÐÅÏ¢£¬Ê¹ÎÒÃÇÄܹ»ÔÚ²»Í¬µÄ¹¤¾ßÖÐ×ö³öÑ¡Ôñ¡£

¡¡¡¡
¡¡¡¡ÄÚ´æй©
¡¡¡¡
¡¡¡¡
¡¡¡¡ÔÚ´Ë£¬Ì¸ÂÛµÄÊdzÌÐòÉè¼ÆÖÐÄÚ´æй©ºÍ´íÎóµÄÎÊÌ⣬²»¹ý£¬²¢²»ÊÇËùÓеijÌÐò¶¼ÓÐÕâÒ»ÎÊÌâ¡£Ê×ÏÈ£¬Ð¹Â©µÈһЩÄÚ´æ·½ÃæµÄÎÊÌâÔÚÓеijÌÐòÓïÑÔÖÐÊDz»ÈÝÒ×·¢ÉúµÄ¡£ÕâЩ³ÌÐòÓïÑÔÒ»°ã¶¼ÈÏΪÄÚ´æ¹ÜÀíÌ«ÖØÒªÁË£¬ËùÒÔ²»ÄÜÓɳÌÐòÔ±À´´¦Àí£¬×îºÃ»¹ÊÇÓɳÌÐòÓïÑÔÉè¼ÆÕßÀ´´¦ÀíÕâЩÎÊÌ⣬ÕâÑùµÄÓïÑÔÓÐPerl¡¢JavaµÈµÈ¡£
¡¡¡¡
¡¡¡¡È»¶ø£¬ÔÚһЩÓïÑÔ(×îµäÐ͵ľÍÊÇCºÍC++)ÖУ¬³ÌÐòÓïÑÔµÄÉè¼ÆÕßÒ²ÈÏΪÄÚ´æ¹ÜÀíÌ«ÖØÒª£¬µ«±ØÐèÓÉ¿ª·¢ÈËÔ±×Ô¼ºÀ´´¦Àí¡£ÄÚ´æй©ָµÄÊdzÌÐòÔ±¶¯Ì¬·ÖÅäÁËÄڴ棬µ«ÊÇÔÚʹÓÃÍê³ÉºóÈ´ÍüÁ˽«ÆäÊÍ·Å¡£³ýÁËÄÚ´æй©ÒÔÍ⣬ÔÚ¿ª·¢ÈËÔ±×Ô¼º¹ÜÀíÄÚ´æµÄ¿ª·¢ÖУ¬»º³åÒç³ö¡¢Ðü°ÚÖ¸ÕëµÈÆäËüһЩÄÚ´æµÄÎÊÌâҲʱÓз¢Éú¡£
¡¡¡¡
¡¡¡¡
¡¡¡¡ÎÊÌâÔµºÎ²úÉú
¡¡¡¡
¡¡¡¡
¡¡¡¡ÎªÁËÈóÌÐòÄܹ»´¦ÀíÔÚ±àÒëʱÎÞ·¨Ô¤ÖªµÄÊý¾ÝÕ¼ÓÃÄÚ´æµÄ´óС£¬ËùÒÔ³ÌÐò±ØÐèÒª´Ó²Ù×÷ϵͳʵʱµØÉêÇëÄڴ棬Õâ¾ÍÊÇËùνµÄ¶¯Ì¬ÄÚ´æ¡£Õâʱºò£¬¾Í»á³öÏÖ³ÌÐòÉêÇëµ½ÄÚ´æ¿é²¢ÇÒʹÓÃÍê³Éºó£¬Ã»Óн«Æä¹é»¹¸ø²Ù×÷ϵͳµÄ´íÎ󡣸üÔãµÄÇé¿öÊÇËù»ñÈ¡µÄÄÚ´æ¿éµÄµØÖ·¶ªÊ§£¬´Ó¶øϵͳÎÞ·¨¼ÌÐøʶ±ð¡¢¶¨Î»¸ÃÄÚ´æ¿é¡£»¹ÓÐÆäËüµÄÎÊÌ⣬±ÈÈçÊÔͼ·ÃÎÊÒѾ­ÊͷŵÄÖ¸Õë(Ðü°ÚÖ¸Õë)£¬ÔÙÈç·ÃÎÊÒѾ­±»Ê¹ÓÃÁ˵ÄÄÚ´æ(ÄÚ´æÒç³ö)µÄÎÊÌâ¡£
¡¡¡¡
¡¡¡¡
¡¡¡¡ºó¹û²»ÈݺöÊÓ
¡¡¡¡
¡¡¡¡
¡¡¡¡¶ÔÓÚÄÇЩ²»³£×¤ÄÚ´æµÄ³ÌÐòÀ´Ëµ£¬ÓÉÓÚÖ´Ðйý³ÌºÜ¶Ì£¬ËùÒÔ¼´Ê¹ÓЩ¶´¿ÉÄÜÒ²²»»áµ¼ÖÂÌرðÑÏÖصĺó¹û¡£²»¹ý¶ÔÓÚһЩ³£×¤ÄÚ´æµÄ³ÌÐò(±ÈÈçWeb·þÎñÆ÷Apache)À´Ëµ£¬Èç¹û³öÏÖÕâÑùµÄÎÊÌ⣬ºó¹û½«·Ç³£ÑÏÖØ¡£ÒòΪÓÐÎÊÌâµÄ³ÌÐò»á²»¶ÏµØÏòϵͳÉêÇëÄڴ棬²¢ÇÒ²»ÊÍ·ÅÄڴ棬×îÖÕ¿ÉÄܵ¼ÖÂϵͳÄÚ´æºÄ¾¡¶øµ¼ÖÂϵͳ±ÀÀ£¡£´ËÍ⣬´æÔÚÄÚ´æй©ÎÊÌâµÄ³ÌÐò³ýÁË»áÕ¼Óøü¶àµÄÄÚ´æÍ⣬»¹»áʹ³ÌÐòµÄÐÔÄܼ±¾çϽµ¡£¶ÔÓÚ·þÎñÆ÷¶øÑÔ£¬Èç¹û³öÏÖÕâÖÖÇé¿ö£¬¼´Ê¹ÏµÍ³²»±ÀÀ££¬Ò²»áÑÏÖØÓ°ÏìʹÓá£
¡¡¡¡
¡¡¡¡Ðü°ÚÖ¸Õë»áµ¼ÖÂһЩDZÔÚµÄÒþ»¼£¬²¢ÇÒÕâЩÒþ»¼²»ÈÝÒ×±©·¢¡£Ëü·Ç³£²»Ã÷ÏÔ£¬Òò´ËºÜÄѱ»·¢ÏÖ¡£ÔÚÕâÈýÖÖ´æÔÚµÄÎÊÌâÐÎʽÖУ¬»º³åÒç³ö¿ÉÄÜÊÇ×îΣÏյġ£ÊÂʵÉÏ£¬Ëü¿ÉÄܻᵼÖºܶలȫÐÔ·½ÃæµÄÎÊÌâ(Ò»¸ö°²È«µÄ³ÌÐò°üº¬ºÜ¶àÒªËØ£¬µ«ÊÇ×îÖØÒªµÄĪ¹ýÓÚСÐÄʹÓÃÄÚ´æ)¡£ÕýÈçÉÏÃæËùÊö£¬ÓÐʱҲ»á·¢ÉúͬһÄÚ´æ¿é±»¶à´Î·µ»¹¸øϵͳµÄÎÊÌ⣬ÕâÏÔȻҲÊdzÌÐòÉè¼ÆÉϵĴíÎó¡£Ò»¸ö³ÌÐòÔ±·Ç³£Ï£ÍûÖªµÀÔÚ³ÌÐòÔËÐеĹý³ÌÖУ¬Ê¹ÓÃÄÚ´æµÄÇé¿ö£¬´Ó¶øÄܹ»·¢ÏÖ²¢ÇÒÐÞÕýÎÊÌâ¡£
¡¡¡¡
¡¡¡¡
¡¡¡¡ÈçºÎ´¦Àí
¡¡¡¡
¡¡¡¡
¡¡¡¡ÏÖÔÚÒѾ­ÓÐÁËһЩʵʱ¼à²âÄÚ´æÎÊÌâµÄ¼¼Êõ¡£ÄÚ´æй©ÎÊÌâ¿ÉÒÔͨ¹ý¶¨Ê±µØÖÕÖ¹ºÍÖØÆôÓÐÎÊÌâµÄ³ÌÐòÀ´·¢Ïֺͽâ¾ö¡£ÔڱȽÏеÄLinuxÄں˰汾ÖУ¬ÓÐÒ»ÖÖÃûΪOOM(Out Of Memory )ɱÊÖµÄËã·¨£¬Ëü¿ÉÒÔÔÚ±ØҪʱѡÔñÖ´ÐÐKilledµÈ³ÌÐò¡£Ðü°ÚÖ¸Õë¿ÉÒÔͨ¹ý¶¨ÆÚ¶ÔËùÓÐÒѾ­·µ»¹¸øϵͳµÄÄÚ´æÖÃÁãÀ´½â¾ö¡£½â¾öÄÚ´æÒç³öÎÊÌâµÄ·½·¨Ôò¶àÖÖ¶àÑù¡£
¡¡¡¡
¡¡¡¡ÊÂʵÉÏ£¬ÔÚ³ÌÐòÔËÐÐʱÀ´½â¾öÕâЩÎÊÌ⣬ÏÔȻҪÂé·³µÃ¶à£¬ËùÒÔÎÒÃÇÏ£ÍûÄܹ»ÔÚ¿ª·¢³ÌÐòʱ¾Í·¢ÏÖ²¢½â¾öÕâЩÎÊÌâ¡£ÏÂÃæ½éÉÜһЩ¿ÉÓõÄ×ÔÓÉÈí¼þ¡£
¡¡¡¡
¡¡¡¡
¡¡¡¡¹¤¾ßÒ»£ºÀ¬»ø»ØÊÕÆ÷(GC)
¡¡¡¡
¡¡¡¡
¡¡¡¡ÔÚGCC(ÏÂÔØ)¹¤¾ß°üÖУ¬ÓÐÒ»¸ö¡°À¬»ø»ØÊÕÆ÷(GC)¡±£¬Ëü¿ÉÒÔÇáËɼì²â²¢ÇÒÐÞÕýºÜ¶àµÄÄÚ´æÎÊÌ⡣Ŀǰ¸ÃÏîÄ¿ÓÉHPµÄHans-J.Boehm¸ºÔð¡£
¡¡¡¡
¡¡¡¡Ê¹Óõļ¼Êõ
¡¡¡¡
¡¡¡¡GCʹÓõÄÊÇÃûΪBoehm-Demers-WeiserµÄ¿ÉÒÔ³ÖÐø¸ú×ÙÄڴ涨λµÄ¼¼Êõ¡£ËüµÄË㷨ͨ¹ýʹÓñê×¼µÄÄڴ涨λº¯ÊýÀ´ÊµÏÖ¡£³ÌÐòʹÓÃÕâЩº¯Êý½øÐбàÒ룬ȻºóÖ´ÐУ¬Ëã·¨¾Í»á·ÖÎö³ÌÐòµÄ²Ù×÷¡£¸ÃËã·¨·Ç³£ÖøÃû²¢ÇұȽÏÈÝÒ×Àí½â£¬²»»áµ¼ÖÂÎÊÌâ»òÕ߶ԳÌÐòÓÐÈκθÉÈÅ¡£
¡¡¡¡
¡¡¡¡ÐÔÄÜ
¡¡¡¡
¡¡¡¡¸Ã¹¤¾ßÓкܺõÄÐÔÄÜ£¬¹Ê¿ÉÒÔÓÐЧÌá¸ß³ÌÐòЧÂÊ¡£Æä´úÂë·Ç³£ÉÙ²¢ÇÒ¿ÉÒÔÖ±½ÓÔÚGCCÖÐʹÓá£
¡¡¡¡
¡¡¡¡¸Ã¹¤¾ßûÓнçÃ棬ʹÓÃÆðÀ´±È½ÏÀ§ÄÑ£¬ËùÒÔÒªÏëÕÆÎÕËü»¹ÊÇÒª»¨Ò»Ð©¹¤·òµÄ¡£Ò»Ð©ÏÖÓеijÌÐòºÜÓпÉÄÜÎÞ·¨Ê¹ÓÃÕâ¸ö±à¼­Æ÷½øÐÐÅäÖᣴËÍ⣬ΪÁËÈÃËùÓеĵ÷ÓÃÄܱ»²¶»ñ£¬ËùÓеÄÄÚ´æµ÷ÓÃ(±ÈÈçmalloc()ºÍfree())¶¼±ØÐëҪʹÓÃÓÉGCÌṩµÄÏàÓ¦º¯ÊýÀ´´úÌæ¡£ÎÒÃÇÒ²¿ÉÒÔʹÓúêÀ´Íê³ÉÕâÒ»¹¤×÷£¬µ«»¹ÊǾõµÃ²»¹»Áé»î¡£
¡¡¡¡
¡¡¡¡½áÂÛ
¡¡¡¡
¡¡¡¡Èç¹ûÄãÏ£ÍûÄܹ»Óпçƽ̨(Ìåϵ½á¹¹¡¢²Ù×÷ϵͳ)µÄ½â¾ö·½°¸£¬ÄÇô¾ÍÊÇËüÁË¡£
¡¡¡¡
¡¡¡¡
¡¡¡¡¹¤¾ß¶þ£ºMemprof
¡¡¡¡
¡¡¡¡
¡¡¡¡Memprof£¨ÏÂÔØ£©ÊÇÒ»¸ö·Ç³£¾ßÓÐÎüÒýÁ¦Çҷdz£Ò×ÓÚʹÓõÄÈí¼þ£¬ËüÓÉRed HatµÄOwen Talyor´´Á¢¡£Õâ¸ö¹¤¾ßÊÇÓÃÓÚGNOMEÇ°¶ËµÄBoehm-Demers-WeiserÀ¬»ø»ØÊÕÆ÷¡£
¡¡¡¡
¡¡¡¡Ê¹Óõļ¼Êõ
¡¡¡¡
¡¡¡¡¾ÍÆäºËÐļ¼ÊõÀ´Ëµ£¬MemprofºÍÉÏÃæÌáµ½µÄGCûÓÐʲô±¾ÖʵIJ»Í¬¡£²»¹ýÔÚʵÏÖÕâÒ»¹¦ÄÜʱ£¬ËüÊÇ´Ó³ÌÐòÖⶻñËùÓеÄÄÚ´æÇëʾ²¢ÇÒʵʱ½«ÆäÖض¨Î»µ½À¬»ø»ØÊÕÆ÷¡£
¡¡¡¡
¡¡¡¡ÐÔÄÜ
¡¡¡¡
¡¡¡¡¸Ã¹¤¾ßµÄÐÔÄܷdz£²»´í£¬ÆäGUIÉè¼ÆµÃÒ²²»´í(Èçͼ1Ëùʾ)¡£Õâ¸ö¹¤¾ßÖ±½Ó¾Í¿ÉÒÔÖ´ÐУ¬²¢ÇÒÆ乤×÷ÆðÀ´ÎÞÐè¶ÔÔ´´úÂë½øÐÐÈκÎÐ޸ġ£ÔÚ³ÌÐòÖ´ÐÐʱ£¬Õâ¸ö¹¤¾ß»áÒÔͼÐλ¯µÄ·½Ê½ÏÔʾÄÚ´æµÄʹÓÃÇé¿ö£¬ÒÔ°ïÖúÄãÁ˽â³ÌÐòÔËÐйý³ÌÖÐÄÚ´æµÄÉêÇëÇé¿ö¡£

¡¡¡¡¸Ã¹¤¾ßÄ¿Ç°Ö»ÄÜÔËÐÐÓÚx86ºÍPPCÌåϵ½á¹¹Ö®ÉϵÄLinuxϵͳ֮ÖС£Èç¹ûÄãÐèÒªÓÃÓÚÆäËüµÄƽ̨£¬Ó¦¸ÃÏëÏëʹÓÃÆäËüµÄ¹¤¾ß¡£¸Ã¹¤¾ß²»ÊÇGTKÓ¦ÓóÌÐò£¬ËùÒÔÐèÒªÒ»¸öÍêÕûµÄGNOME»·¾³¡£ÕâÑù¾ÍʹµÃÆä²»ÄÜÁé»îÓÃÓÚËùÓеĵط½¡£´ËÍ⣬¸Ã¹¤¾ßµÄ¿ª·¢¹¤×÷½øÕ¹µÃÒ²±È½Ï»ºÂý(ÏÖÔÚÊÇ0.4.1°æ)¡£
¡¡¡¡
¡¡¡¡½áÂÛ
¡¡¡¡
¡¡¡¡Èç¹ûÄãϲ»¶GUI¹¤¾ß²¢ÇÒ²»½éÒâÖ»ÄÜÓÃÓÚLinuxÒÔ¼°GNOME֮ϣ¬¸Ã¹¤¾ßÓ¦¸Ã¿ÉÒÔ˵ÊǷdz£²»´í¡£
¡¡¡¡
¡¡¡¡
¡¡¡¡¹¤¾ßÈý£ºValgrind
¡¡¡¡
¡¡¡¡
¡¡¡¡Valgrind(http://developer.kde.org/~sewardj/)ÊÇÒ»¸öÖÂÁ¦ÓÚ½â¾öËùÓÐÄÚ´æÎÊÌâµÄ³ÌÐò£¬¶øÄÚ´æй©ֻ²»¹ýÊÇÆäÖеÄÎÊÌâÖ®Ò»¶øÒÑ¡£¸Ã¹¤¾ßµÄ¿ª·¢ÈËÔ±ÊÇJulian Seward(ÒÔBzip2ºÍCacheprof¶øÎÅÃû)¡£¸Ã¹¤¾ßÐû³Æ×Ô¼º¡°ÊÇרÃÅÖÂÁ¦ÓÚ½â¾öx86 LinuxÖпª·ÅÔ´´úÂëµÄÄÚ´æÎÊÌ⡱£¬ÊÂʵÉÏ£¬ËüµÄÈ·×öµ½ÁË×Ô¼ºµÄÐûÑÔ¡£´ËÍ⣬Ëü»¹¿ÉÒÔÃèÊöCPU»º´æµÄʹÓÃÇé¿ö£¬²»¹ýÕâÒ»¹¦Äܲ¢²»³£Óá£
¡¡¡¡
¡¡¡¡Ê¹Óõļ¼Êõ
¡¡¡¡
¡¡¡¡ÔÚÕâ¸ö³ÌÐòÖÐʹÓõļ¼Êõ·Ç³£¸´ÔÓ£¬²»¹ýÆäÎĵµ·Ç³£·á¸»ºÍÍêÕû(http://developer.kde.org/~sewardj/docs/techdocs.html)¡£³ÌÐò·ÖÅäµÄÿһ×Ö½ÚµÄÄڴ涼±»Ò»¸öÓоÅλµÄ×´¿ö×Ö¸ú×Ù£¬ÆäÄ¿µÄÊÇÓÃÓÚʶ±ðÆäÒâͼ¡£ÕâÖÖ×ö·¨´ó´ó¼ÓÖØÁËϵͳµÄ¸ºµ£¡£
¡¡¡¡
¡¡¡¡ÐÔÄÜ
¡¡¡¡
¡¡¡¡Õâ¸ö¹¤¾ßÊÇÎÒÃÇÕâ¶ù½éÉܵÄÈý¿îÖÐÐÔÄÜ×î²îµÄÒ»¸ö£¬Ô­ÒòÊÇÏÔ¶øÒ×¼ûµÄ¡£¸Ã¹¤¾ßÌṩµÄÐÅϢϸ½ÚÊÇÈý¸ö¹¤¾ßÖÐ×î·á¸»µÄ£¬Òò¶øËÙ¶ÈÒ²ÊÇ×îÂýµÄ¡£³ýÁËһЩ³£¼ûµÄÎÊÌâÍ⣬¸Ã¹¤¾ß»¹¿ÉÒÔ·¢ÏÖÄÚ´æÆäËüµÄһЩÎÊÌ⣬ÉõÖÁһЩPOSIXÏ̷߳½ÃæµÄÎÊÌâ¡£»º³åµÄÐÅÏ¢¶ÔÓڴ󲿷ֳÌÐòÀ´ËµËƺõûÓбØÒª£¬²»¹ýËüÊÇÒ»¸ö²é¿´³ÌÐòÐÔÄܵĺܺ÷½Ê½¡£¶ÔÓÚValgrindÀ´Ëµ£¬ÖµµÃÒ»ÌáµÄ¾ÍÊÇÆ俪·¢Ëٶȷdz£¿ì£¬Æ俪·¢ÉçÍÅÒ²·Ç³£»îÔ¾¡£ÊÂʵÉÏ£¬ÔÚValgrindµÄÖ÷Ò³ÉÏ×÷ÕßÉõÖÁÓÐÒ»¾ä»°£º¡°Èç¹ûÄãÔÚʹÓÃValgrind¹ý³ÌÖÐÓÐÈκÎÎÊÌ⣬Çë²»Òª½éÒ⣬¸øÎÒ·¢Óʼþ°É¡±¡£
¡¡¡¡
¡¡¡¡²»¹ý£¬¸Ã¹¤¾ßÊÇרÃÅÓÃÓÚx86µÄ¡£Æä½çÃæÊÇ´¿ÃüÁîÐз½Ê½£¬µ«ÊÇÆä¿ÉÓÃÐԷdz£ºÃ¡£¸Ã¹¤¾ß¿ÉÒÔÖ±½ÓÔÚ¶þ½øÖÆÏÂÔËÐУ¬ËùÒÔÔÚʹÓÃʱ²¢²»ÐèÒª¶ÔÆä½øÐÐÖØбàÒë¡£²»¹ýÒªÊìÁ·ÕÆÎÕËü£¬»¹ÊÇÐèҪʹÓÃÕß½øÐÐÒ»·¬Å¬Á¦µÄ¡£´ËÍ⣬ËäÈ»¸Ã¹¤¾ßÔø¾­Ê¹ÓÃÓÚMozilla¡¢OpenOfficeµÈһЩ´óµÄÏ̳߳ÌÐò£¬µ«¸Ã¹¤¾ß¶ÔÏ̵߳ÄÖ§³Ö²¢²»ÍêÉÆ¡£ÎÒÏëÈç¹û¸Ã¹¤¾ßÒªÊÇÓÐÒ»¸öGUI½çÃ棬½«»áÓ®µÃ¸ü¶àÈ˵ÄÇàíù¡£
¡¡¡¡
¡¡¡¡½áÂÛ
¡¡¡¡
¡¡¡¡Èç¹ûÄãʹÓÃx86£¬¶Ô×Ô¼ºµÄ´úÂë·Ç³£Á˽ⲢÇÒ²»½éÒâʹÓÃÃüÁîÐз½Ê½£¬ÄÇôÕâ¸ö³ÌÐò½«ÊÇÄãµÄÖÁ°®¡£
¡¡¡¡
¡¡¡¡Èç¹ûÎÒÔڴ˽éÉܵÄÈý¿î¹¤¾ßÄ㶼²»Ï²»¶£¬ÄÇҲûÓйØϵ£¬¿ÉÔÚÏÂÃæÕ¾µãÖÐÕÒµ½ºÜ¶à¼ì²âÄÚ´æ´íÎóµÄ¹¤¾ß£ºhttp://www.sslug.dk/emailarkiv/bog/2001_08/msg00030.html¡£´ËÍ⣬»¹ÓÐһЩÉÌÒµ¹¤¾ß£¬±ÈÈçPurify¡¢GeodesicµÈ¡£Ôڴ˾Ͳ»Ïêϸ½éÉÜ¡£
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ