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

ʹÓÃGnu gprof½øÐÐLinuxƽ̨ϵijÌÐò·ÖÎö

O.S ʹÓÃGnu gprof½øÐÐLinuxƽ̨ϵijÌÐò·ÖÎö
¹Ø ¼ü ´Ê£ºgprof callgraph º¯ÊýÏûºÄµÄʱ¼ä LinuxÓ¦Ó÷ÖÎö
ÔĶÁÌáʾ£º±¾ÎĽéÉÜÁËÈçºÎʹÓÃGnu gprof ¶ÔLinuxƽ̨ϵÄÏÖÓгÌÐò½øÐÐÓÅ»¯·ÖÎöºÍÉú³É³ÌÐòµ÷ÓÃͼ¡£Ö÷ÒªÆ«ÖØÓÚ¶ÔÉú³ÉºÍʹÓÃÁ÷³Ìͼ×÷½éÉÜ¡£
Gprof ¼ò½é:
    Gprof¹¦ÄÜ£º´òÓ¡³ö³ÌÐòÔËÐÐÖи÷¸öº¯ÊýÏûºÄµÄʱ¼ä£¬¿ÉÒÔ°ïÖú³ÌÐòÔ±ÕÒ³öÖڶຯÊýÖкÄʱ×î¶àµÄº¯Êý¡£²úÉú³ÌÐòÔËÐÐʱºòµÄº¯Êýµ÷ÓùØÏµ£¬°üÀ¨µ÷ÓôÎÊý£¬¿ÉÒÔ°ïÖú³ÌÐòÔ±·ÖÎö³ÌÐòµÄÔËÐÐÁ÷³Ì¡£
    ÓÐÁ˺¯ÊýµÄµ÷ÓùØÏµ£¬Õâ»áÈÿª·¢ÈËÔ±´ó´óÌá¸ß¹¤×÷ЧÂÊ£¬²»Ó÷ÑÐĵØÈ¥Ò»µãµãÕÒ³ö³ÌÐòµÄÔËÐÐÁ÷³Ì£¬Õâ¶ÔС³ÌÐòÀ´Ëµ¿ÉÄÜЧ¹û²»ÊǺÜÃ÷ÏÔ£¬µ«¶ÔÓÚÓм¸Íò£¬¼¸Ê®Íò´ú ÂëÁ¿µÄ¹¤³ÌÀ´Ëµ£¬Ð§ÂÊÊÇÎãÓ¹ÖÃÒɵģ¡¶øÇÒÕâ¸ö¹¦ÄܶÔÓÚά»¤¾É´úÂë»òÕßÊÇ·ÖÎöOpen SourceÀ´ËµÄÇÊÇÏ൱ÓÕÈ˵ģ¬ÓÐÁ˵÷ÓÃͼ£¬¶Ô³ÌÐòµÄÔËÐпò¼ÜÒ²¾ÍÓÐÁËÒ»¸ö´óÌåÁ˽⣬֪µÀÁ˳ÌÐòµÄ“¹Ç¼Ü“£¬·ÖÎöËüÒ²¾Í²»»áÔÙÄÇôãȻ£¬ÓÈÆäÊǶÔ×Ô¼º²» ÊìϤµÄ´úÂëºÍOpen Source¡£·Ñ»°²»¶à˵ÁË£¬ÈÃÎÒÃÇ¿ªÊ¼ÎÒÃǵķÖÎöÖ®Âðɣ¡
Gprof ʵÏÖÔ­Àí£º
    ͨ¹ýÔÚ±àÒëºÍ Á´½ÓÄãµÄ³ÌÐòµÄʱºò£¨Ê¹Óà -pg ±àÒëºÍÁ´½ÓÑ¡Ï£¬gcc ÔÚÄãÓ¦ÓóÌÐòµÄÿ¸öº¯ÊýÖж¼¼ÓÈëÁËÒ»¸öÃûΪmcount ( or “_mcount” , or “__mcount” , ÒÀÀµÓÚ±àÒëÆ÷»ò²Ù×÷ϵͳ)µÄº¯Êý£¬Ò²¾ÍÊÇ˵ÄãµÄÓ¦ÓóÌÐòÀïµÄÿһ¸öº¯Êý¶¼»áµ÷ÓÃmcount, ¶ømcount »áÔÚÄÚ´æÖб£´æÒ»Õź¯Êýµ÷ÓÃͼ£¬²¢Í¨¹ýº¯Êýµ÷ÓöÑÕ»µÄÐÎʽ²éÕÒ×Óº¯ÊýºÍ¸¸º¯ÊýµÄµØÖ·¡£ÕâÕŵ÷ÓÃͼҲ±£´æÁËËùÓÐÓ뺯ÊýÏà¹ØµÄµ÷ÓÃʱ¼ä£¬µ÷ÓôÎÊýµÈµÈµÄËùÓÐЊϢ¡£
Gprof»ù±¾Ó÷¨£º
1£® ʹÓà -pg ±àÒëºÍÁ´½ÓÄãµÄÓ¦ÓóÌÐò¡£
2£® Ö´ÐÐÄãµÄÓ¦ÓóÌÐòʹ֮Éú³É¹©gprof ·ÖÎöµÄÊý¾Ý¡£
3£® ʹÓÃgprof ³ÌÐò·ÖÎöÄãµÄÓ¦ÓóÌÐòÉú³ÉµÄÊý¾Ý¡£
4.  gprof²úÉúµÄÐÅÏ¢½âÊÍÈçÏÂ:
5.³£ÓõÄGprof ÃüÁîÑ¡Ïî½âÊÍ
-b²»ÔÙÊä³öͳ¼ÆÍ¼±íÖÐÿ¸ö×ֶεÄÏêϸÃèÊö¡£
-p Ö»Êä³öº¯ÊýµÄµ÷ÓÃͼ£¨Call graph µÄÄDz¿·ÖÐÅÏ¢£©¡£
-q Ö»Êä³öº¯ÊýµÄʱ¼äÏûºÄÁÐ±í¡£
-E Name²»ÔÙÊä³öº¯ÊýName ¼°Æä×Óº¯ÊýµÄµ÷ÓÃͼ£¬´Ë±êÖ¾ÀàËÆÓÚ -e ±êÖ¾£¬µ«ËüÔÚ×Üʱ¼äºÍ°Ù·Ö±Èʱ¼äµÄ¼ÆËãÖÐÅųýÁËÓɺ¯ÊýName ¼°Æä×Óº¯ÊýËùÓõÄʱ¼ä¡£
-e Name ²»ÔÙÊä³öº¯ÊýName ¼°Æä×Óº¯ÊýµÄµ÷ÓÃͼ£¨³ý·ÇËüÃÇÓÐδ±»ÏÞÖÆµÄÆäËü¸¸º¯Êý£©¡£¿ÉÒÔ¸ø¶¨¶à¸ö -e ±êÖ¾¡£Ò»¸ö -e ±êÖ¾Ö»ÄÜÖ¸¶¨Ò»¸öº¯Êý¡£
-F Name Êä³öº¯ÊýName ¼°Æä×Óº¯ÊýµÄµ÷ÓÃͼ£¬ËüÀàËÆ


Ïà¹ØÎĵµ£º

ÐÞ¸ÄSUSE LinuxϵͳµÄ³¬¼¶Óû§ÃÜÂë

1 ¡¢ÖØÐÂÆô¶¯»úÆ÷£¬ÔÚ³öÏÖgrubÒýµ¼½çÃæºó£¬°´F2£¬ÔÚÆô¶¯linux µÄÑ¡ÏîÀï¼ÓÉÏinit=/bin/bash£¬Í¨¹ý¸øÄں˴«µÝinit=/bin/bash²ÎÊýʹµÃOSÔÚÔËÐÐlogin³ÌÐò֮ǰÔËÐÐbash£¬³öÏÖÃüÁîÐС£
¡¡¡¡2 ¡¢ÉÔµÈÆ¬¿Ì³öÏÖ(none)# £ºÃüÁîÐС£
¡¡¡¡3 ¡¢ÊäÈëmount -n / -o remount £¬rw
¡¡¡¡4 ¡¢ÊäÈë mount–n /usr
¡¡¡¡5 ¡¢ÊäÈë cd /usr ......

Linux³£¼ûÃüÁî:ÆÁÄ»Îı¾±à¼­Æ÷Vi

¡¡±¾Õ½éÉÜLinuxÉÏ×î³£ÓõÄÎı¾±à¼­Æ÷Vi¡£Îı¾±à¼­Æ÷ÊÇËùÓмÆËã»úϵͳÖÐ×ʹÓõÄÒ»ÖÖ¹¤¾ß¡£Óû§ÔÚʹÓüÆËã»úµÄʱºò£¬ÍùÍùÐèÒª½¨Á¢×Ô¼ºµÄÎļþ£¬ÎÞÂÛÊÇÒ»°ãµÄÎı¾Îļþ¡¢Êý¾ÝÎļþ£¬»¹ÊDZàдµÄÔ´³ÌÐòÎļþ£¬ÕâЩ¹¤×÷¶¼Àë²»¿ª±à¼­Æ÷¡£
¡¡¡¡LinuxϵͳÌṩÁËÒ»¸öÍêÕûµÄ±à¼­Æ÷¼Ò×åϵÁУ¬ÈçEd¡¢Ex¡¢ViºÍEmacsµÈ£¬°´¹¦ÄÜËüÃÇ¿ÉÒÔ·ÖÎ ......

Linux signalº¯Êý½âÎö

    ÒÔÏÂÔÚcentos5.3ÉÏʵÑé¡£ÔÚlinuxÖÐsignalº¯ÊýÊÇͨ¹ýµ÷ÓÃsigactionÀ´ÊµÏֵģ¬ÓÉ´ËËü²»´æÔÚÐźŶªÊ§ÒÔ¼°Ã¿´ÎÐźŴ¦Àíºó»á°ÑÐźŴ¦Àí¸Ä³ÉĬÈÏ´¦Àí·½Ê½¡£µ«¶ÔÓÚϵͳµ÷Óú¯Êý±»ÐźŴò¶Ïʱ£¬ÏµÍ³µ÷ÓÃÊÇ·ñ»á×Ô¶¯Æô¶¯ºÃÏñûÔõô˵Ã÷¡£²»¹ý¿ÉÒÔ×Ô¼º¶¯ÊÖ¿´Ò»Ï£º
    signal(SIGTERM, term_handle ......

¼õÉÙLinuxÏÂSquid·þÎñÆ÷µÄTIME_WAITÌ×½Ó×ÖÊýÁ¿

Linuxϸ߲¢·¢µÄSquid·þÎñÆ÷£¬TCP TIME_WAITÌ×½Ó×ÖÊýÁ¿¾­³£´ïµ½Á½¡¢ÈýÍò£¬·þÎñÆ÷ºÜÈÝÒ×±»ÍÏËÀ¡£Í¨¹ýÐÞ¸ÄLinuxÄں˲ÎÊý£¬¿ÉÒÔ¼õÉÙSquid·þÎñÆ÷µÄTIME_WAITÌ×½Ó×ÖÊýÁ¿¡£
¡¡¡¡
vi /etc/sysctl.conf
¡¡¡¡Ôö¼ÓÒÔϼ¸ÐУº
ÒýÓÃ
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.tcp_syncookie ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ