½â¾öLinuxϵͳÄÚ´æÎÊÌâ
ÔõÑù½â¾ölinuxϵͳÖзºÆðµÄÄÚ´æ×ß©ºÍÒç³öÎÊÌâ
ÔÚ¿ª·¢ºÍά»¤Linuxϵͳʱ£¬ÄÚ´æ×ß©ºÍÄÚ´æÒç³öÊdz£¼ûµÄÎÊÌâ¡£ÕâЩÎÊÌâ¿ÉÄܵ¼ÖÂϵͳÐÔÄÜϽµ¡¢³ÌÐòÍß½âÉõÖÁϵͳÍ߽⡣Òò´Ë£¬ÎÒÃÇÐèÒª½ÓÄÉһϵÁеIJ½·¥À´½â¾öÕâЩÎÊÌâ¡£±¾ÎĽ«ÏÈÈÝÔõÑù½â¾ölinuxϵͳÖзºÆðµÄÄÚ´æ×ß©ºÍÒç³öÎÊÌâ¡£
ÄÚ´æ×ß©ÊÇÖ¸³ÌÐòÔÚÉêÇëÄÚ´æºóûÓÐ׼ȷÊͷŵ¼ÖÂÄÚ´æ×ÊÔ´µÄÆÌÕÅ¡£ÄÚ´æ×ß©¿ÉÄܻᵼÖÂϵͳÄÚ´æȱ·¦£¬½ø¶øµ¼ÖÂϵͳÐÔÄÜϽµÉõÖÁ³ÌÐòÍ߽⡣½â¾öÄÚ´æ×ß©ÎÊÌâµÄÒªº¦ÊÇÕÒµ½ÄÚ´æ×ß©µÄȪԴ£¬²¢×¼È·ÊÍ·ÅÏìÓ¦µÄÄÚ´æ¡£
ʹÓÃÄÚ´æÆÊÎö¹¤¾ß£ºLinuxÌṩÁËһЩÄÚ´æÆÊÎö¹¤¾ß£¬ÈçValgrind¡¢GDBµÈ¡£ÕâЩ¹¤¾ß¿ÉÒÔ×ÊÖúÎÒÃÇÆÊÎö³ÌÐòÖеÄÄÚ´æÎÊÌ⡣ͨ¹ýʹÓÃÕâЩ¹¤¾ß£¬¿ÉÒÔÕÒ³öÄÚ´æ×ß©µÄµØ·½£¬²¢¶¨Î»µ½ÏêϸµÄ´úÂëÐС£
¼ì²é¶¯Ì¬ÄÚ´æÉêÇëºÍÊͷŵÄÆ¥Å䣺ÔÚ³ÌÐòÖУ¬¶¯Ì¬ÄÚ´æµÄÉêÇëºÍÊÍ·ÅÓ¦¸Ã¼á³ÖÆ¥Åä¡£¼´Ã¿´ÎÉêÇëÄÚ´æºó£¬¶¼Ó¦¸ÃÔÚÊʵ±µÄλÖÃÊÍ·ÅÏàͬ¾ÞϸµÄÄڴ档ȷ±£ÔÚ³ÌÐòÖÐûÓÐÒÅ©µÄÄÚ´æÉêÇë»òÕßδ±»ÊͷŵÄÄÚ´æ¡£
×¢ÖØÑ»·ÒýÓÃÎÊÌ⣺ѻ·ÒýÓÃÊÇÖ¸Á½¸ö»ò¶à¸ö¹¤¾ßÖ®¼äÏ໥ÒýÓ㬵¼ÖÂËüÃÇÎÞ·¨±»À¬»ø½ÓÄÉÆ÷½ÓÄÉ¡£ÔÚʹÓö¯Ì¬ÄÚ´æ·ÖÅÉʱ£¬Ó¦¸ÃÌØÊâ×¢ÖØÑ»·ÒýÓõÄÎÊÌâ¡£¿ÉÒÔͨ¹ýʹÓÃÈõÒýÓûòÕßÊÖ¶¯¶Ï¿ªÒýÓùØϵÀ´½â¾öÑ»·ÒýÓÃÎÊÌâ¡£
Êʵ±Ê¹Óûº´æ£º»º´æÊÇÒ»ÖÖÌá¸ß³ÌÐòÐÔÄܵij£ÓÃÒªÁ죬¿ÉÊÇÌ«¹ýʹÓûº´æ¿ÉÄܵ¼ÖÂÄÚ´æÒç³ö¡£Òò´Ë£¬ÔÚʹÓûº´æʱ£¬ÐèÒªºÏÀíÔ¤¼Æ»º´æµÄÈÝÁ¿£¬²¢ÉèÖÃÏìÓ¦µÄÏÞÖÆ¡£ÊµÊ±ÕûÀí²»ÔÙʹÓõĻº´æ¹¤¾ß£¬×èÖ¹Õ¼Óùý¶àµÄÄÚ´æ¡£
Õë¶ÔÌض¨³¡¾°¾ÙÐÐÓÅ»¯£º²î±ðµÄ³ÌÐòÔÚ²î±ðµÄ³¡¾°Ï¿ÉÄ᷺ܻÆð²î±ðµÄÄÚ´æÎÊÌâ¡£Òò´Ë£¬Ó¦¸ÃÕë¶ÔÌض¨µÄ³¡¾°¾ÙÐÐÄÚ´æÓÅ»¯¡£ÀýÈ磬ÔÚ´¦Àí´óÊý¾ÝÁ¿Ê±£¬¿ÉÒÔ˼Á¿·ÖÅú´Î´¦ÀíÊý¾Ý£¬±ÜÃâÒ»´ÎÐÔ¼ÓÔعý¶àµÄÊý¾Ýµ¼ÖÂÄÚ´æÒç³ö¡£
ÄÚ´æÒç³öÊÇÖ¸³ÌÐòÇëÇó·ÖÅÉÄÚ´æʱ£¬Ã»ÓÐ×ã¹»µÄ¿ÉÓÃÄÚ´æ¶øµ¼ÖµÄÎÊÌâ¡£½â¾öÄÚ´æÒç³öÎÊÌâµÄÒªº¦ÊÇ׼ȷÖÎÀíºÍ·ÖÅÉÄÚ´æ¡£
ºÏÀíÔ¤¼ÆÄÚ´æÐèÇó£ºÔÚ±àд³ÌÐòʱ£¬Ó¦¸ÃºÏÀíÔ¤¼Æ³ÌÐòËùÐèµÄÄÚ´æ¡£¿ÉÒÔͨ¹ý¼à¿Ø³ÌÐòµÄÄÚ´æʹÓÃÇéÐÎÀ´¾ÙÐÐÆÀ¹À£¬²¢Æ¾Ö¤ÏÖÕæÏàÐε÷½âÄÚ´æ·ÖÅɵÄÕ½ÂÔ¡£
ʵʱÊͷŲ»ÔÙʹÓõÄÄڴ棺³ÌÐòÔÚʹÓÃÍêÄÚ´æºó£¬Ó¦¸Ãʵʱ½«²»ÔÙʹÓõÄÄÚ´æÊÍ·Å£¬ÒÔ±ãÆäËû³ÌÐò¿ÉÒÔ¼ÌÐøʹÓá£ÀýÈ磬ÔÚʹÓÃÍ궯̬·ÖÅɵÄÄÚ´æºó£¬Ó¦¸ÃŲÓÃfree()º¯ÊýÊÍ·ÅÄÚ´æ¡£
ʹÓÃÄÚ´æÖÎÀí¹¤¾ß£ºLinuxÌṩÁËһЩÄÚ´æÖÎÀí¹¤¾ß£¬Èçmalloc()¡¢calloc()¡¢realloc()µÈ¡£ÕâЩ¹¤¾ß¿ÉÒÔ×ÊÖúÎÒÃǸüºÃµØÖÎÀíºÍ·ÖÅÉÄڴ档ʹÓÃÕâЩ¹¤¾ß¿ÉÒÔ¸üÀû±ãµØ¸ú×ٺ͵÷ÊÔÄÚ´æ·ÖÅɺÍÊͷŵÄÀú³Ì¡£
ºÏÀíÉè¼ÆÊý¾Ý½á¹¹£ººÏÀíµÄÊý¾Ý½á¹¹Éè¼ÆÓÐÖúÓÚïÔÌÄÚ´æʹÓá£Ê¹Óýô´ÕµÄÊý¾Ý½á¹¹¡¢×èÖ¹ÈßÓàÊý¾ÝµÈ£¬¿ÉÒÔÓÐÓÃïÔÌÄÚ´æµÄÕ¼Óá£
µ÷½âϵͳ²ÎÊý£ºÔÚLinuxϵͳÖУ¬¿ÉÒÔͨ¹ýµ÷½âһЩϵͳ²ÎÊýÀ´ÓÅ»¯ÄÚ´æ·ÖÅɺÍÖÎÀí¡£ÀýÈ磬µ÷½âÄÚ´æÓ³ÉäÎļþµÄÏÞÖÆ£¨vm.max_map_count£©¡¢µ÷½âÒ³Ãæ´óС£¨vm.page-cluster£©µÈ¡£
×ÜÖ®£¬ÄÚ´æ×ß©ºÍÄÚ´æÒç³öÊÇLinuxϵͳÖг£¼ûµÄÎÊÌ⣬½â¾öÕâЩÎÊÌâÐèÒª¿ª·¢Ö°Ô±ºÍϵͳÖÎÀíÔ±ÅäºÏÆ𾢡£Í¨¹ýʹÓúÏÊʵŤ¾ß£¬ºÏÀíÖÎÀíÄÚ´æ·ÖÅÉÓëÊÍ·Å£¬ÒÔ¼°¶ÔÌض¨³¡¾°¾ÙÐÐÓÅ»¯µÈÊֶΣ¬¿ÉÒÔÓÐÓõؽâ¾öÄÚ´æ×ß©ºÍÄÚ´æÒç³öÎÊÌ⣬Ìá¸ßϵͳµÄÎȹÌÐÔºÍÐÔÄÜ¡£
ÒÔÉϾÍÊǽâ¾öLinuxϵͳÄÚ´æÎÊÌâµÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡