Utilizzo del comando pprof per misurare l'utilizzo del microprocessore dei thread del kernel

Il comando pprof riporta l'utilizzo del microprocessore su tutti i thread kernel in esecuzione in un intervallo utilizzando il programma di utilità di traccia.

Le informazioni sul processo non elaborate vengono salvate in pprof.flow e vengono creati cinque report. Se non viene specificato alcun indicatore, vengono generati tutti i report.

Per determinare se il programma pprof è installato e disponibile, eseguire il seguente comando:
# lslpp -lI bos.perf.tools

I tipi di report sono i seguenti:

pprof.cpu
Elenca tutti i thread di livello kernel ordinati in base al tempo effettivo del microprocessore. Contiene: Nome processo, ID processo, ID processo parent, Stato processo all'inizio e alla fine, ID thread, ID thread parent, Tempo CPU effettivo, Ora di avvio, Ora di arresto, Arresto - Avvio.
pprof.famcpu
Elenca le informazioni per tutte le famiglie (processi con un antenato comune). Il nome processo e l'ID processo per la famiglia non sono necessariamente gli antenati. Contiene: Ora di inizio, Nome processo, ID processo, Numero di thread, Tempo CPU totale.
pprof.famind
Elenca tutti i processi raggruppati per famiglie (processi con un predecessore comune). I nomi dei processi child sono rientrati rispetto al parent. Contiene: Ora di inizio, Ora di fine, Tempo CPU effettivo, ID processo, ID processo principale, ID thread, ID thread principale, Stato processo all'inizio e alla fine, Livello, Nome processo.
pprof.namecpu
Elenca le informazioni su ciascun tipo di thread del kernel (tutti eseguibili con lo stesso nome). Contiene: Nome processo, Numero di thread, Tempo CPU,% del tempo CPU totale.
pprof.start
Elenca tutti i thread kernel ordinati per ora di avvio che sono stati inviati durante l'intervallo del comando pprof . Contiene: Nome processo, ID processo, ID processo parent, Inizio e fine stato processo, ID thread, ID thread parent, Tempo CPU effettivo, Ora di avvio, Ora di arresto, Arresto - Avvio.
Di seguito è riportato un file pprof.namecpu di esempio generato dall'esecuzione del programma tthreads32 , che esegue il fork di quattro thread, che a loro volta disattivano un processo. Questi processi eseguono diversi programmi ksh e sleep :
                    Pprof  PROCESS  NAME  Report

                    Sorted  by  CPU  Time

                    From: Thu Oct 19 17:53:07 2000
                    To:   Thu Oct 19 17:53:22 2000


               Pname #ofThreads  CPU_Time        %
            ======== ==========  ========  ========
          tthreads32         13     0.116    37.935
                  sh          8     0.092    30.087
                Idle          2     0.055    17.987
                 ksh         12     0.026     8.503
               trace          3     0.007     2.289
                java          3     0.006     1.962
               kproc          5     0.004     1.308
             xmservd          1     0.000     0.000
             trcstop          1     0.000     0.000
             swapper          1     0.000     0.000
                 gil          1     0.000     0.000
                  ls          4     0.000     0.000
               sleep          9     0.000     0.000
                  ps          4     0.000     0.000
             syslogd          1     0.000     0.000
                nfsd          2     0.000     0.000
                     ==========  ========  ========
                             70     0.306   100.000
Il pprof.cpu corrispondente è il seguente:
                    Pprof CPU Report

                    Sorted  by  Actual CPU  Time

                    From: Thu Oct 19 17:53:07 2000
                    To:   Thu Oct 19 17:53:22 2000


        E = Exec'd      F = Forked
        X = Exited      A = Alive (when traced started or stopped)
        C = Thread Created

               Pname      PID     PPID  BE      TID     PTID  ACC_time  STT_time  STP_time   STP-STT
               =====    =====    ===== ===    =====    =====  ========  ========  ========  ========
                Idle      774        0  AA      775        0     0.052     0.000     0.154     0.154
          tthreads32     5490    11982  EX    18161    22435     0.040     0.027     0.154     0.126
                  sh    11396     5490  EE    21917     5093     0.035     0.082     0.154     0.072
                  sh    14106     5490  EE    16999    18867     0.028     0.111     0.154     0.043
                  sh    13792     5490  EE    20777    18179     0.028     0.086     0.154     0.068
                 ksh     5490    11982  FE    18161    22435     0.016     0.010     0.027     0.017
          tthreads32     5490    11982  CX     5093    18161     0.011     0.056     0.154     0.098
          tthreads32     5490    11982  CX    18179    18161     0.010     0.054     0.154     0.099
          tthreads32    14506     5490  FE    17239    10133     0.010     0.128     0.143     0.015
                 ksh    11982    13258  AA    22435        0     0.010     0.005     0.154     0.149
          tthreads32    13792     5490  FE    20777    18179     0.010     0.059     0.086     0.027
          tthreads32     5490    11982  CX    18867    18161     0.010     0.057     0.154     0.097
          tthreads32    11396     5490  FE    21917     5093     0.009     0.069     0.082     0.013
          tthreads32     5490    11982  CX    10133    18161     0.008     0.123     0.154     0.030
          tthreads32    14106     5490  FE    16999    18867     0.008     0.088     0.111     0.023
               trace     5488    11982  AX    18159        0     0.006     0.001     0.005     0.003
               kproc     1548        0  AA     2065        0     0.004     0.071     0.154     0.082
                Idle      516        0  AA      517        0     0.003     0.059     0.154     0.095
                java    11612    11106  AA    14965        0     0.003     0.010     0.154     0.144
                java    11612    11106  AA    14707        0     0.003     0.010     0.154     0.144
               trace    12544     5488  AA    20507        0     0.001     0.000     0.001     0.001
                  sh    14506     5490  EE    17239    10133     0.001     0.143     0.154     0.011
               trace    12544     5488  CA    19297    20507     0.000     0.001     0.154     0.153
                 ksh     4930     2678  AA     5963        0     0.000     0.154     0.154     0.000
               kproc     6478        0  AA     3133        0     0.000     0.154     0.154     0.000
                  ps    14108     5490  EX    17001    18867     0.000     0.154     0.154     0.000
          tthreads32    13794     5490  FE    20779    18179     0.000     0.154     0.154     0.000
                  sh    13794     5490  EE    20779    18179     0.000     0.154     0.154     0.000
                  ps    13794     5490  EX    20779    18179     0.000     0.154     0.154     0.000
                  sh    14108     5490  EE    17001    18867     0.000     0.154     0.154     0.000
          tthreads32    14108     5490  FE    17001    18867     0.000     0.154     0.154     0.000
                  ls    13792     5490  EX    20777    18179     0.000     0.154     0.154     0.000
:
:
: