Home | History | Annotate | Line # | Download | only in Examples
      1 The following is an example of the shortlived.d program.
      2 It can measure time spent processing short lived processes,
      3 that may be responsible for heavy load on the system but
      4 are usually difficult to see with sampling tools like prstat.
      5 
      6 
      7 
      8 Here we run in for a few seconds on a server,
      9 
     10    # shortlived.d
     11    Tracing... Hit Ctrl-C to stop.
     12    ^C
     13    short lived processes:      0.456 secs
     14    total sample duration:      9.352 secs
     15    
     16    Total time by process name,
     17                  date           12 ms
     18                    df           20 ms
     19                    ls           40 ms
     20                  perl          380 ms
     21    
     22    Total time by PPID,
     23                  3279          452 ms
     24 
     25 In the above output, around 5% of the CPU was lost to short
     26 lived processes - mostly perl. This may be many perl processes,
     27 here we are aggregating on the process name not the instance.
     28 
     29 
     30 
     31 Now shortlived.d is run on a server with a performance problem,
     32 
     33    # uptime
     34      10:58pm  up 5 day(s),  1:28,  1 user,  load average: 2.20, 1.81, 1.04
     35    #
     36    # shortlived.d
     37    Tracing... Hit Ctrl-C to stop.
     38    ^C
     39    short lived processes:      4.546 secs
     40    total sample duration:      9.858 secs
     41    
     42    Total time by process name,
     43                  expr         4122 ms
     44    
     45    Total time by PPID,
     46                  3279         4122 ms
     47    #
     48    # ps -p 3279
     49       PID TTY         TIME CMD
     50      3279 pts/10      0:45 report.sh
     51 
     52 shortlived.d showed that 50% of the CPU was consumed by short lived
     53 processes, all of them the "expr" command, and all having the 
     54 parent proccess-ID 3279. We finished by checking PID 3279 to find
     55 it is a Bourne shell script called "report.sh".
     56 
     57 
     58