This document explains why the CPU percentage reported for kproc process 516 may seem high. Since this process just indicates the idle time of the system, the high percentage does not indicate a problem and no action is required.
The formula for computing the %CPU is:
%CPU = CPUTime(pid) / (currentTime - startTime(pid) ) * 100.0
This equation gives the true percentage of CPU that the process has consumed over its lifetime. On unburdened systems, process 516 will use 50% or more of CPU. Since this computation is based on lifetime statistics, it will be slow to rise and slow to fall.
Additionally, you should see that adding up the numbers in the %CPU column does not
yield 100%. For example, process A may have been using 80% of the CPU for its
first hour. Then process B is started at a higher priority and consumes 80%.
Process A still runs, but now only gets 5% of the CPU slices. The %CPU as
shown by ps ug will gradually decline for process A, starting from 80% and
eventually leveling off near 5%. For a while, both process A and B will show
%CPU of 80%.