Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

The following is an example of the sampleproc program.


Here we run sampleproc for a few seconds on a workstation,

   # ./sampleproc
   Sampling at 100 hertz... Hit Ctrl-C to end.
   ^C
     PID CMD                       COUNT
    1659 mozilla-bin                   3
     109 nscd                          4
    2197 prstat                       23
    2190 setiathome                  421
   
     PID CMD                     PERCENT
    1659 mozilla-bin                   0
     109 nscd                          0
    2197 prstat                        5
    2190 setiathome                   93

The first table shows a count of how many times each process was sampled
on the CPU. The second table gives this as a percentage. 

setiathome was on the CPU 421 times, which is 93% of the samples.




The following is sampleproc running on a server with 4 CPUs. A bash shell
is running in an infinate loop,

   # ./sampleproc
   Sampling at 100 hertz... Hit Ctrl-C to end.
   ^C
     PID CMD                       COUNT
   10140 dtrace                        1
   28286 java                          1
   29345 esd                           2
   29731 esd                           3
       2 pageout                       4
   29733 esd                           6
   10098 bash                       1015
       0 sched                      3028
   
     PID CMD                     PERCENT
   10140 dtrace                        0
   28286 java                          0
   29345 esd                           0
   29731 esd                           0
       2 pageout                       0
   29733 esd                           0
   10098 bash                         24
       0 sched                        74

The bash shell was on the CPUs for 24% of the time, which is consistant 
with a CPU bound single threaded application on a 4 CPU server.

The above sample was around 10 seconds long. During this time, there were
around 4000 samples (checking the COUNT column), this is due to
4000 = CPUs (4) * Hertz (100) * Seconds (10).