Something is up with the %cpu function in ps. I just did a test, top running on one screen, and your command on the other. The ps is spitting out huge processor usage for processes that are using zero according to top (and are using zero in reality, since they're idle and doing nothing).
$ ps -eo pid,user,%cpu,args --sort %cpu | tail -1
16819 564 81.9 /usr/local/itt/idl/idl81/bin/bin.linux.x86_64/idl
$ top -p 16819 -b -n 1
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
16819 564 20 0 232m 18m 5600 S 0.0 0.1 153:56.16 idl
What do you get with top?