UNIX/Linuxϵͳȡ֤֮ÐÅÏ¢²É¼¯°¸Àý
ÔÚUNIX/Linuxϵͳȡ֤ÖУ¬¼°Ê±ÊÕ¼¯Ó²Å̵ÄÐÅÏ¢ÖÁ¹ØÖØÒª£¬¡¶Unix/LinuxÍøÂçÈÕÖ¾·ÖÎöÓëÁ÷Á¿¼à¿Ø¡·Ò»ÊéÖУ¬½«ÏêϸÌÖÂÛ¸÷ÖÖ³£¼ûϵͳ½ø³Ìϵͳµ÷Óü°¾µÏñÎļþ»ñ
UNIX/Linuxϵͳȡ֤֮ÐÅÏ¢²É¼¯°¸Àý ÔÚUNIX/Linuxϵͳȡ֤ÖУ¬¼°Ê±ÊÕ¼¯Ó²Å̵ÄÐÅÏ¢ÖÁ¹ØÖØÒª£¬¡¶Unix/LinuxÍøÂçÈÕÖ¾·ÖÎöÓëÁ÷Á¿¼à¿Ø¡·Ò»ÊéÖУ¬½«ÏêϸÌÖÂÛ¸÷ÖÖ³£¼ûϵͳ½ø³Ìϵͳµ÷Óü°¾µÏñÎļþ»ñÈ¡·½·¨¡£ÏÂÃæ¼òµ¥¾Ù¼¸¸öÀý×Ó¡£ 1.ÊÕ¼¯ÕýÔÚÔËÐеĽø³Ì ÔÚUNIX/Linuxȡ֤ʱºÜ¶àϵͳºÍÍøÂçÐÅÏ¢ÊǶÌʱ´æÔڵĿÉνÊÇת˲¼´ÊÅ£¬ÈçºÎ׼ȷµÄ²¶×½µ½ÄÄЩÖëË¿Âí¼£ÄØ?ÍøÂ簲ȫÈËÔ±ÐèÒª¾ßÓÐÃôÈñµÄ¹Û²ìÁ¦ºÍ·á¸»µÄ¾ÑéÏÂÃæÀý¾Ù¼¸¸ö³£Óõķ½·¨¡£ Ê×ÏÈ£¬ÔÚÊÕ¼¯Ö÷»úÉÏÆô¶¯Ò»¸ö¼àÌý½ø³Ì£º #nc -l -p 10005 >ps_lsof_log Ö´ÐÐÍêÕâÌõÃüÁîºó»Ø³µ£¬ÏµÍ³´ò¿ª10005¶Ë¿ÚµÈ´ý½ÓÊÜ£¬È»ºóÔÚ±»µ÷²éµÄÁíÒ»Ö÷»úÉÏÔËÐÐÏàÓ¦µÄps µ÷Ó㺠#(ps aux; ps-auxeww; lsof)|nc 192.168.150.100 10005 -w 3 ¼¸ÃëÖÓºó»Øµ½ÃüÁîÐÐÌáʾ·û£¬ÐèҪעÒâµÄÊÇÕâÁ½ÌõÃüÁî³É¶Ô³öÏÖ,·¢ËÍÍêÊý¾Ýºó¿ªÆôµÄ¶Ë¿Ú½ÓÊÕÊý¾Ý½ÓÊÕÍê±Ï¼´¹Ø±Õ¶Ë¿Ú£¬Èç¹ûÄãµÚ¶þ´ÎûÓпªÆô¼àÌý¶Ë¿Úunixϵͳ¹ÜÀí£¬¼ÌÐø·¢ËÍpsÊý¾Ý¾Í»á³öÏÖÁ¬½Ó·ÃÎʾܾø¡£ #(ps aux;ps auxeww;losf) | nc 192.168.150.109 10005 ¨Cw 3 (UNKNOWN) [192.168.150.109] 10005 (?) : Conection refused ÔÚÉÏÊöÃüÁîÖУ¬ÓеÄÃüÁî²úÉú³¤Êä³ö½á¹û£¬ÓеIJúÉú¶ÌÊä³ö½á¹û£¬×÷ΪÊÕ¼¯Ö¤¾ÝÀ´Ëµ£¬Õâ¶¼Òª¼ÓÒÔÀûÓá£ÄÇôÓÐÄÄЩÃüÁîÄܹ»Ê¹ÓõĿÉÊÕ¼¯ÕýÔÚÔËÐеĽø³ÌÐÅÏ¢µÄ¹¤¾ßÄØ? ÀýÈ磺 who; uptime; ps(²é¿´½ø³ÌµÄÄÚ´æµØÖ·£ºps -ealf); top; lsof(²é¿´½ø³ÌÒÑ´ò¿ªµÄÎļþ£ºlsof -p PID); strace(¸ú×Ù½ø³ÌµÄϵͳµ÷ÓúÍÐźţºstrace -p PID); truss; ltrace(¸ú×Ù½ø³ÌµÄ¿âµ÷ÓÃ:ltrace -p PID)µÈ¡£ 2.LinuxÏÂϵͳµ÷Óò鿴¹¤¾ß ÀàËÆ´Û¸ÄϵͳÎļþ¡¢Ö²ÈëľÂí»òÐíÔÚ¿ØÖÆÌ¨ÉÏÄÜÆ¹ý³õ¼¶¹ÜÀíÔ±£¬Ò»µ©ÉîÈ뵽ϵͳ²ãÃæÄ¾ÂíÃǶ¼»áÔÐα϶£¬Strace³£ÓÃÀ´¸ú×Ù½ø³ÌÖ´ÐÐʱµÄϵͳµ÷ÓúÍËù½ÓÊÕµÄÐźš£ Linuxϵͳ£¬½ø³Ì²»ÄÜÖ±½Ó·ÃÎÊÓ²¼þÉ豸£¬µ±½ø³ÌÐèÒª·ÃÎÊÓ²¼þÉ豸(±ÈÈç¶ÁÈ¡´ÅÅÌÎļþ£¬½ÓÊÕÍøÂçÊý¾ÝµÈµÈ)ʱ£¬±ØÐëÓÉÓû§Ì¬Ä£Ê½Çл»ÖÁÄÚºË̬ģʽ£¬Í¨¹ýϵͳµ÷Ó÷ÃÎÊÓ²¼þÉ豸¡£Ëùνϵͳµ÷ÓÃ(Systemcall)£¬¾ÍÊÇÄÚºËÌṩµÄ¡¢¹¦ÄÜÊ®·ÖÇ¿´óµÄһϵÁеĺ¯Êý¡£ÕâЩϵͳµ÷ÓÃÊÇÔÚÄÚºËÖÐʵÏֵģ¬ÔÙͨ¹ýÒ»¶¨µÄ·½Ê½°Ñϵͳµ÷ÓøøÓû§¡£Strace¿ÉÒÔ¸ú×Ùµ½Ò»¸ö½ø³Ì²úÉúµÄϵͳµ÷ÓÃ,°üÀ¨²ÎÊý£¬·µ»ØÖµ£¬Ö´ÐÐÏûºÄµÄʱ¼ä¡£StraceÔÚ±¾ÊéµÄÓ¦Óüû±¾Õµİ¸ÀýÑо¿Ò»¡£ 3.UNIXÏÂϵͳµ÷Óò鿴¹¤¾ß DTraceÊÇUnixƽ̨ÏµĶ¯Ì¬¸ú×Ù¹¤¾ß£¬ÊÇÓÉ Sun¹«Ë¾¿ª·¢,¿ÉÒÔÒÔ¶ÔºËÐÄ(kernel)ºÍÓ¦ÓóÌÐò(user application)½øÐж¯Ì¬¸ú×Ù,µ±È»Ò²¿ÉÒÔÕÒ³öϵͳƿ¾±£¬ÔÚ¼×¹ÇÎÄÊÕ¹ºSunÖ®ºóÕâÒ»¼¼ÊõÓÖ±»ÒÆÖ²µ½ÁËOracle Linuxϵͳ¼ÌÐø·¢Ñï¹â´ó(¸ü¶à²Î¿¼Announcement:Dtrace for Oracle Linux General Availability)¡£ Õâ¿î¹¤¾ßÔÚSolaris ºÍOpen Solarisƽ̨϶¼¿ÉÒÔʹÓᣠ4.Ó¦ÓþÙÀý ¢ÙÏÔʾµ±Ç°¶¯Ì¬ÏµÍ³ÖеĶ¯Ì¬Dtrace̽Õëprobe #dtrace -l |more ¢Úͨ³£ÎÒÃDz鿴ϵͳfirefox½ø³ÌµÄÇé¿öʹÓÃÈçÏÂÃüÁî #ps -e |grep firefox Ò²¿ÉÒÔÓÃDtrace²é¿´probe̽Õ룬²Ù×÷ÈçÏ£º ºÎ¿´»úÆ÷æÏÐ×´Ì¬ÄØ£¬³£ÓÃvmstat£¬µÃÖª²úÉú2535¶àϵͳµ÷Óᣵ«ÊÇ£¬ÈçºÎ¼òµ¥²éÕÒÄĸö½ø³ÌµÄÎÊÌâÄØ?ÊÔÓý¨ÒéʹÓÃdtrace¹¤¾ß¡£ ´Ó×îºóÒ»ÐÐÏÔʾ¿´£¬ÏÔÈ»·¢ÏÖfirefox-binÊDzúÉú´óÁ¿ÏµÍ³µ÷ÓõijÌÐò, ÔÙ¿´¿´I/O·Ö²¼¡£ÀýÈ绹ÊÇfirefox½ø³Ì£¬ÊäÈëÒÔÏÂÃüÁî¡£ ͨ¹ýÒÔÉÏÏÔʾ£¬¿É¹Û²ìµ½´óÁ¿Firefox²úÉúµÄI/OÔÚ8¡«64×ֽڼ䣬½Ó×ÅÉîÈë¿´Firefox³ÌÐòÄÚ²¿Çé¿ö£¬ÊäÈëÒÔÏÂÃüÁî¡£ Dtrace¹¦ÄÜÇ¿´ó£¬¾«¶È¸ß£¬¶øSolaris 10ϵÄÀÏÅÆÏµÍ³¸ú×Ù¹¤¾ßtruss£¬ÖµµÃ´ó¼Ò×¢ÒâµÄÊÇtruss¹¤¾ßÓÐʱ»á½µµÍϵͳ25%¡«30%µÄCPUÀûÓÃÂÊ¡£ ÍØÕ¹ÔĶÁ£º DtraceÏêϸʹÓÃÎĵµ£º ²Î¿¼£º¡¶Dtrace:DynamicTracing in Oracle Solaris,MacOS X and FreeBSD¡· 5.Systrace ÁíÒ»¿î¹¦Äܸü¼ÓÇ¿´óµÄϵͳµ÷ÓÃÍâ´ø±¨¾¯¹¦ÄܵĿªÔ´Èí¼þsystrace¾ÍǶÈëÔÚOpenBSDϵͳÖУ¬ÔÚFreeBSDºÍLinuxÒ²¿ÉÒÔ×ÔÐа²×°¡£Systrace¹¤¾ß£¬¿ÉÒÔÓÃÀ´·ÀֹľÂíÈí¼þ¶ÔϵͳµÄΣº¦¡£ÔÚÕâ¸öÀý×ÓÖÐÈçÏÂͼËùʾ£¬Systrace¼ì²âÔÚfragroute-1.2Ŀ¼ÏµÄÒ»¸öÅäÖÃÖаüº¬¶ñÒâ½Å±¾Ä¾Âí¡£ systrace¼ì²éľÂí Systrace¹¤¾ßÏÂÔØµØÖ·£º 6.ÊÕ¼¯/procϵͳÖеÄÐÅÏ¢ ProcÒ»Ö±°éËæ×ÅLiux kernel, ·¢Õ¹ÖÁ½ñÔÚLinux¿ªÊ¼Ö÷ÒªÓ¦ÓÃÔÚÍøÂçÏà¹Ø·½Ãæ, ºóÀ´ÎªÁ˼ò»¯ÏµÍ³¹ÜÀíºÍµ÷ÊÔ, Öð½¥°ÑËüÓ¦Óõ½ÆäËû·½Ãæ¡£ÏÖÔÚ, procÒѾ³ÉΪLinux ÄÚºËÖÐʹÓÃ×î¹ã·ººÍ×î³É¹¦µÄÌØÐÔÖ®Ò»¡£ProcÔÚÄÚ´æÖн¨Á¢ÐéÄâµÄÎļþ½Úµã, Óû§¿ÉÒÔÖ±½ÓʹÓÃÎļþϵͳÖеıê׼ϵͳµ÷ÓÃÈ¥·ÃÎÊproc ϵÄÐÅÏ¢, µ±Óû§·¢³ö·ÃÎÊ/procϵġ°Îļþ¡±ÇëÇóʱ, ÔÙÓÉϵͳ¶¯Ì¬Éú³É¡£ËùÒÔProc¾ÍÊÇÒ»¸öÐéÄâµÄÎļþϵͳ£¬Í¨¹ýÎļþϵͳµÄ½Ó¿ÚʵÏÖ£¬µ±ÏµÍ³ÖØÆô»òµçÔ´¹Ø±ÕʱÕâ¸öÎļþϵͳµÄÊý¾Ý½«Ïûʧ¡£/proc»¹Îª/dev/kmem Ìṩһ¸ö½á¹¹»¯µÄ½Ó¿Ú£¬±ãÓÚϵͳÕï¶Ï²¢²é¿´Ã¿Ò»¸öÕýÔÚÔËÐеĿÉÖ´ÐÐÎļþµÄ»·¾³¡£ÄÚ´æÖеÄÿ¸ö½ø³ÌÔÚ/proc Öж¼ÓÐÒ»¸öĿ¼£¬°´ËüµÄ½ø³ÌID À´ÃüÃû¡£Èç¹ûÔÚÉÏÃæÁгöµÄps µÄÊä³öÖп´²»¼ûµÄ½ø³Ì³öÏÖÔÚ/proc ÖУ¬Õâ¾Í¿ÉÄÜÊÇps Òѱ»ÌØÂåÒÁ»¯ÁË(±»´Û¸Ä²¢¼ÓÁËΣÏÕ³ÌÐò)£¬ËùÒÔÎÒÃÇÒªÊìϤProc,ÒÔ±ãÓ¦¶Ô¹¥»÷Õß¶ÔprocϵÄÎļþ×öÊֽš£trace:DynamicTracing in Oracle Solaris,MacOS X and FreeBSD¡· ÏÂÃæÍ¨¹ýncÃüÁÈçºÎͨ¹ýÍøÂçÊÕ¼¯proc½ø³ÌµÄ·½·¨£¬ÎªÁËÊÕ¼¯Proc½ø³Ì £¬Ê¹ÓÃÏÂÃæÓÃ2ÌõÃüÁî: #nc -l ¨Cp 10006>proc_log #ls -d/proc[1-9] * | nc 192.168.0.2 10006 -w 3 ÏÂÆÚ°¸ÀýÔ¤±¨£¬¶ÔÓÚÕâ¸öncÃüÁÔÚÍøÂçȡ֤ÖÐÄÜÆðµ½¹Ø¼ü×÷Óã¬ÔÚÏÂÃæÕâÆðÍøÂ簲ȫʼþ·ÖÎöÔÚnc¾ÍÆðµ½Á˹ؼü×÷Óᣠ£¨±à¼£º³É¶¼Õ¾³¤Íø£© ¡¾ÉùÃ÷¡¿±¾Õ¾ÄÚÈݾùÀ´×ÔÍøÂ磬ÆäÏà¹ØÑÔÂÛ½ö´ú±í×÷Õ߸öÈ˹۵㣬²»´ú±í±¾Õ¾Á¢³¡¡£ÈôÎÞÒâÇÖ·¸µ½ÄúµÄȨÀû£¬Ç뼰ʱÓëÁªÏµÕ¾³¤É¾³ýÏà¹ØÄÚÈÝ! |
- flex actionScript¶ÁÈ¡ÎļþʾÀý´úÂë
- ¿Æ¼¼ÓëÐÂʱ´úµÄ´´Òµ
- AIXµÄÎļþϵͳ¹ÜÀí
- iOSÓÎÏ·¡¶²»°ÜÕ½Éñ¡·ÓÎÏ·¹¥ÂÔ ÐÂÊֱضÁ
- flex´òÓ¡²Ù×÷(FlexPrintJob)»¹ÓзÖÒ³´òÓ¡²Ù×÷¾ßÌåʵÏÖ
- iPhone6sÅÜ·ÖÍ¼ÆØ¹â ¾¹È»ÈÔÊÇ1GBÔË´æ?
- UNIXÇéÐθ߼¶±à³Ì£ºÏß³Ì˽ϡÓоÝ
- jQuery ÉÁ¶¯µÄÎÄ×ÖÌáʾ£¬´ò¿ªºÍµã»÷±ß¿òÉÁ˸
- ´ÓδÈç´Ë¼òµ¥£º10·ÖÖÓ´øÄãÄæÏ®Kafka£¡
- unixϵͳ¹ÜÀí 1.3 LinuxºÍUNIXµÄ¹ØÏµ¼°Çø±ð£¨Ïê½â°æ£©
- jQuery ¶¯Ì¬Ìí¼ÓDIV²ã£¬AjaxÎÞˢвÙ×÷´úÂë
- ϵͳ¹ÜÀíÔ±ÊÇһȺʲôÑùµÄÈË£¿ÔúÐÄÁË£¡
- FlexÖиø°´Å¥Ìí¼ÓÁ´½Óµã»÷Á´½Ó´ò¿ªÍøÒ³µÄ·½·¨
- JavaScriptÈÕÆÚʱ¼äÓëʱ¼ä´ÁµÄת»»º¯Êý·ÖÏí
- UNIX/LINUX×ÊÔ´°²È«¹ÜÀíÖ÷Òª°üÀ¨¼¸´ó²¿·Ö
- Night Shift¹¦ÄÜÊÇʲô?Night ShiftÔõôÓã¿
- UnixÉè¼ÆÕÜѧ
- iOS9Ó¦ÓÃÉÁÍËÔõô°ì iOS9Èí¼þÉÁÍ˽â¾ö°ì·¨
- ÎļþȨÏÞÎÊÌâ»ã×Ü-Linux/UnixϵͳÎļþȨÏÞ½âÎö
- ÅÉÅÉÓÐûÓÐË«¿ªÖúÊÖ ÅÉÅÉË«¿ªÖúÊÖÊÇÕæµÄÂð
- Supervisor:½ø³Ì¹ÜÀí¹¤¾ß£¬ÀÏ´óÔÙÒ²²»Óõ£ÐÄ
- ´ÅÅÌÅä¶îµÄÅäÖò½Öè
- ÔÚUbuntuÖа²×°¹¦ÄÜ×îÇ¿´óµÄ»ùÓÚWebµÄUnixϵ
- ×Ô¶¯¹ÒÔØwindowsÓ²Å̵½Ö¸¶¨Ä¿Â¼
- ¡¾¶ÁÊé±Ê¼Çunix²Ù×÷ϵͳÉè¼Æ¡¿ÎļþϵͳµÄµ÷
- HP Unixϵͳά»¤»ù±¾ÃüÁî
- UNIXϵͳÖÐÓû§cpuʱ¼äºÍϵͳcpuʱ¼äµÄÇø±ð
- Á½ÖÖÈíÓ²¼þµÄʱ¼äµÄ¼ÆËã·½·¨
- pyqt5 ÄÚǶä¯ÀÀÆ÷ûÓÐpdf²å¼þ
- R.E.BryantÉîÈëÀí½â¼ÆËã»úϵͳ