1753427 Members
4834 Online
108793 Solutions
New Discussion юеВ

Re: monitor CPU load

 
SOLVED
Go to solution
Maaz
Valued Contributor

monitor CPU load

How to check CPU load ?
I mean how I know if the processor is sufficient/insufficient ?

and

Runable processes
This value depicts the processes that are ready to be executed. This value should not
exceed 10 times the amount of physical processors for a sustained period of time;
otherwise a processor bottleneck is likely.


Question

Is the above true ? e.g I have single Quad-Core processor, then the value of 'r' in vmstat must not exceed the value of '9', otherwise I need an addtional processor or it means that the processor doesn't have sufficient computing power to meet the needs/load

please help
5 REPLIES 5
Steven E. Protter
Exalted Contributor
Solution

Re: monitor CPU load

Shalom,

measure performance with top. Take a look at how much time it spends at 100%.

Take this script set and port it to Linux.

http://www.hpux.ws/?p=6

SEP
Steven E Protter
Owner of ISN Corporation
http://isnamerica.com
http://hpuxconsulting.com
Sponsor: http://hpux.ws
Twitter: http://twitter.com/hpuxlinux
Founder http://newdatacloud.com
Ivan Ferreira
Honored Contributor

Re: monitor CPU load

Normally, you should check the output of the vmstat command. All depends of your application response time requirement.

Normally, I/O is the first factor of a poor response time of an application.

It's very important to identify where is your CPU usage going, to the usr time, sys time or iowait.

If most cpu is going to usr time, then is good, if you have more sys time than usr time, then the system is spending more time doing system calls or paging activity. If you have iowait (wa), then your system is waiting for I/O.

I don't give much importance to the "runable process" column, there are general rules, but each system is different.

If from the output of vmstat, you see idle 0, then probably you are CPU bound.

Also, for example, if you add more processors, and your application is single thread, then you won't get any improvement.
Por que hacerlo dificil si es posible hacerlo facil? - Why do it the hard way, when you can do it the easy way?
Fredrik.eriksson
Valued Contributor

Re: monitor CPU load

If you just want some cryptic numbers "uptime" or "w" will do fine.

The load averages is supposed to measure load based over 1, 5 and 15 minutes... if it's > 1 your cpu is according to load averages in full usage and processes get queued for CPU time.
These numbers are not always to be trusted thou, I've had systems running with above 1 with out any major issues/sluggishness.
This wiki article explains it better then I can, http://en.wikipedia.org/wiki/Load_(computing)
Thou there are some that argue on how this actually presents accurate information and how reliable it is. I find it to be quite useful when my systems are being unresponsive or slow.

The plain logic behind it is if your server/computer has a load averages over all three values that's greater then 1 all the time you need to get a new CPU if you wan't it to work 100% efficiently.

Hope this gives you some insight and/or ideas. Otherwise the best solution is to just feel it, is your system feels sluggish then you probably need more juice ;P

If this doesn't suit you, you can always use "top" to check which processes uses most CPU but that doesn't really give the result you're looking for (since only 100% CPU is measured you can't be sure that processes "need" more then 100%).

Best regards
Fredrik Eriksson
Shiraj Fernando
Regular Advisor

Re: monitor CPU load

Hi,

Just an addition to the above posts.

Check out http://iometer.org/

You can use the dynamo to generate the i/o load on the target machine and use the windows based iometer to remotely (over the network) monitor i/o, performance statistics and generate reports etc.

Regards,
Shiraj.
Rob Leadbeater
Honored Contributor

Re: monitor CPU load

And another addition to the previous suggestions...

collectl

http://collectl.sourceforge.net

Cheers,

Rob