"Load average" in top is actually the run queue average length.
Over 1 means on average things are waiting on the cpu, below 1 means on average no-one has to wait. Don't confuse this with %cpu - it's not like that.
The bold summary line show percentages should always be across all the cores, but can get confused if you have the wrong version of top, so always add them up to check you get 100 the first time you use top on a new machine to check this.
As for process %cpu, that depends on your version of top - if it's compiled for your arcihtecture properly, it understands and the % is how much of one CPU is beign used (so more than 100% would require multithreading across multiple cores).
To complicate matters further, a system running at 100% cpu might not be terrible if your shceduler is beign smart - it could well be that you've got a bunch of low priority things in the background that get a bunch of work done while the system is idel, then throtle back when you need it - ie sitting at 100% you might still find that your CPU hungry command you want to run goes just fine and the cpu load happily stays at 100% during and after. It's often a waste of time to monitor CPU percentages overall.
Better is to look at:
* overall wait % ("wa") - you don't want that to get very high or it indicates something is thrashing in swap or disk.
* run queue length
In your java example:
Its saying that you have a Priority 23 task, (lower numbers get priority on CPU time) using 70.6% of your free memory and 142.9% of one CPU (ie it's multithreaded and is using about 1.5 Cores).
Last edited by Smiling Dragon; 08-08-2013 at 11:34 PM..
Reason: added the java example breakdown.
This User Gave Thanks to Smiling Dragon For This Post:
we have an unix system which has
load average normally about 20.
but while i am running a particular unix batch which performs heavy
operations on filesystem and database average load
reduces to 15.
how can we explain this situation?
while running that batch idle cpu time is about %60-65... (0 Replies)
Hello all, I have a question about load averages.
I've read the man pages for the uptime and w command for two or three different flavors of Unix (Red Hat, Tru64, Solaris). All of them agree that in the output of the 2 aforementioned commands, you are given the load average for the box, but... (3 Replies)
Hi,
I'm new to shell scripting. I need to make a script to add on to my cronjobs.
The script must get the value of load average from my server and if its greater than 10 it should stop my apache service. I cant find a way to get the value of load average in integer type to do the check. Any... (4 Replies)
Hi,
i have installed solaris 10 on t-5120 sparc enterprise.
I am little surprised to see load average of 2 or around on this OS.
when checked with ps command following process is using highest CPU. looks like it is running for long time and does not want to stop, but I do not know... (5 Replies)
Hi Folks,
We have 6 processors in our sun server. I do see that CPU usage by one of the processor is always more than 70-80% and for remaining 5 processors, its only 20%. Is there a way to delegate the excess CPU load on one of the processors in server to other processors in same server? Is... (3 Replies)
Hello AlL,..
I want from experts to help me as my load average is increased and i dont know where is the problem !!
this is my top result :
root@a4s # top
top - 11:30:38 up 40 min, 1 user, load average: 3.06, 2.49, 4.66
Mem: 8168788k total, 2889596k used, 5279192k free, 47792k... (3 Replies)
Hi ,
I am using 48 CPU sunOS server at my work.
The application has facility to check the current load average before starting a new process to control the load.
Right now it is configured as 48. So it does mean that each CPU can take maximum one proces and no processe is waiting.
... (2 Replies)
how load average is calculated and what exactly is it
difference between cpu% and load average (9 Replies)
Discussion started by: robo
9 Replies
LEARN ABOUT NETBSD
cpuset_zero
CPUSET(3) BSD Library Functions Manual CPUSET(3)NAME
cpuset_create, cpuset_destroy, cpuset_zero, cpuset_set, cpuset_clr, cpuset_isset, cpuset_size -- dynamic CPU sets
SYNOPSIS
#include <sched.h>
cpuset_t *
cpuset_create(void);
void
cpuset_destroy(cpuset_t *set);
void
cpuset_zero(cpuset_t *set);
int
cpuset_set(cpuid_t cpu, cpuset_t *set);
int
cpuset_clr(cpuid_t cpu, cpuset_t *set);
int
cpuset_isset(cpuid_t cpu, const cpuset_t *set);
size_t
cpuset_size(const cpuset_t *set);
DESCRIPTION
This section describes the functions used to create, set, use and destroy the dynamic CPU sets.
This API can be used with the POSIX threads, see pthread(3) and affinity(3).
The ID of the primary CPU in the system is 0.
FUNCTIONS
cpuset_create()
Allocates and initializes a clean CPU-set. Returns the pointer to the CPU-set, or NULL on failure.
cpuset_destroy(set)
Destroy the CPU-set specified by set.
cpuset_zero(set)
Makes the CPU-set specified by set clean, that is, memory is initialized to zero bytes, and none of the CPUs set.
cpuset_set(cpu, set)
Sets the CPU specified by cpu in set. Returns zero on success, and -1 if cpu is invalid.
cpuset_clr(cpu, set)
Clears the CPU specified by cpu in the CPU-set set. Returns zero on success, and -1 if cpu is invalid.
cpuset_isset(cpu, set)
Checks if CPU specified by cpu is set in the CPU-set set. Returns the positive number if set, zero if not set, and -1 if cpu is
invalid.
cpuset_size(set)
Returns the size in bytes of CPU-set specified by set.
SEE ALSO affinity(3), pset(3), sched(3), schedctl(8), kcpuset(9)HISTORY
The dynamic CPU sets appeared in NetBSD 5.0.
BSD November 2, 2011 BSD