Hello Every body.

I am trying to find out two things.

1.How can i know whether my server is at CPU bottelenck.

Solution i tried:

I am using vmstat tool and depending on the "r" ( run queue from procs column)
Then decide if run queue is greater than avaialable cpu cores.

Is this correct solution to idenityf CPU botteleneck.

I think its not right case for every scenario. I tried to load my CPU processors with tight loop threads more than my cores, still i see CPU responding to any other requests.

Can any body help me like any other way to get this CPU botteleneck identification.

2.I want to measure dynamically network usage by a specific process.This should be a CLI utiliy .

Solution i tried:

I was relying on /proc/<pid>/net/netstat file InOctest and OutOctets to decide the n/w usage by specific process.

But i see that some process which doesnot use n/w like initd also has showing some network acitivity .

Is this correct approach?

Do we have any other alternative?

Your help would be highly appreciated in this regard.