title: different process's %cpu output via top from busybox and procps-ng
body: <p>I have an <code>Embedded Linux(Kernel 2.6.37)</code> running on <code>ARM</code>. There's a default <code>top</code> from <code>busybox 1.13.2</code>. And I build a <code>procps-ng 3.3.11</code> via cross compile to run on this <code>Linux</code>. I found that the process's <code>%cpu</code> via <code>top</code> output from <code>busybox</code> and <code>procps-ng</code> are different.   </p>
  
  <p>For example,  the <code>%cpu</code> of one process, <code>procps-ng top</code> display about 30%, but <code>busybox top</code> display only about 10%. The total <code>%cpu</code> from <code>procps-ng top</code> and <code>busybox top</code> are the same.<br>
  Then I read the calculation source code of <code>busybox</code> and <code>procps-ng</code>. I found that they really have different calculation formula for one process's <code>%cpu</code>.  </p>
  
  <pre><code>
  - busybox top:  
      CPU% = s->pcpu/sum(s->pcpu) * busy_cpu_ticks/total_cpu_ticks   
      (pcpu is delta of sys+user time between samples)  
  
  - procps-ng top: 
      CPU% = s->pcpu/total_cpu_ticks  
  </code></pre>
  
  <p>Why the two projects choose different calculation formula? Do they designed for different application case? 
  Thanks!</p>