CPU Usage of a process
I am currently writing a JAVA script to monitor certain unix processes through JConsole.
Upon having lots of trouble with runtime.exec, i decided to bypass the top/ps command call and just get the information straight from /proc/*pid*/whatever.
Now i can pull back any information from any of the files I want, and the current way i determine the CPU usage of a process is as follows:
Add the UTime and STime of that process from /proc/pid/stat then divide my pidCpu by UTime + STime + NTime from /proc/stat, then multiply that by 100, should give me the % cpu usage a process is using, right?
Theory being if I get the jiffies assigned to my process, I can divide that by the total jiffies the cpu assigns.
However, my results seem to vary from the ones gathered from top and ps. What am I doing wrong?
Any input is appreciated.