05-28-2012
Quote:
Originally Posted by
bakunin
CPU "wait"s mean: a process, ready to be run (again) cannot be run AND there is no other process which could be run instead. In this regard "wait" is a special kind of "idle" - one, where there are indeed processes to be run whereas "idle" takes place when there are no processes to be run at all.
Just a clarification. CPU wait pseudo state also means there are no processes ready to be run at all. The difference is at least one thread is waiting for a disk I/O to be completed. This metric is so confusing and open to misinterpretation that Solaris give up providing it starting with version 10 (2005).
I just found such a misinterpretation by looking at the other thread mentioned by gull04:
Quote:
Originally Posted by
gull04
one of which is showing heavy CPU I/O wait (in the order of 20%) - on most Unix systems I've ever worked on in the past this would be considered a disaster.
There is no Unix OS where 20% of I/O wait is that alarming. An idle CPU combined with an I/O in progress are not a disaster. If you are concerned by I/O performance and load, you should use iostat, not vmstat.
10 More Discussions You Might Find Interesting
1. AIX
Hello everyone
I have this process running on my server.
topas command
User 98.6 |############################
I have this process
Name PID CPU% PgSp Owner
db2fm 565264 25.6 1.5 ldapdb2
db2fm 348328 23.6 ... (4 Replies)
Discussion started by: lo-lp-kl
4 Replies
2. AIX
is there command which will display no of core per cpu in aix?
Regads,
Manoj (1 Reply)
Discussion started by: manoj.solaris
1 Replies
3. AIX
Hi.
I am looking for a command that will return me the amount of CPU used by a specific process in AIX environment.
I know there is TOPAS - but it is interactive and I need to get this information from system that connects remotely via SSH.
Using writing to files and than reading them is also... (1 Reply)
Discussion started by: yamsin789
1 Replies
4. Shell Programming and Scripting
Hi all,
I have a script that checks for the existence of files in a directory. Problem is,
if a file suddenly appears, I need to move it to another directory and then
call another program that does not import routines (within our DBMS).
Now, this script is ever running and uses the sleep... (3 Replies)
Discussion started by: gseyforth
3 Replies
5. Shell Programming and Scripting
Hi,
I need write a script that check how much CPU% a particular process is using so I execute something like :
while :
do
ps aux | awk '{ if($3 < 10) {printf( "this process %s CPU: %f and process %d\n",$1,$3,$2)}}'
sleep 300
done
but issue here is that I compare... (0 Replies)
Discussion started by: arizah
0 Replies
6. AIX
Hi
Could somebody explain me how AIX is using CPU??
For example when we have 2 processors system is giving all task to one of them till 100% is used ?? Or it's depend on configuration or anything else ??
Best regards
enda (3 Replies)
Discussion started by: enda
3 Replies
7. Shell Programming and Scripting
I want to write a shell script which will print AIX
CPU utilization
memory utilization
every 5 mins redirect to file. How do i do it? Please advise.
Which commands I should use? (3 Replies)
Discussion started by: vegasluxor
3 Replies
8. Shell Programming and Scripting
Hi,
I want to write one script that sent mail when CPU utilisation is more then 70%. i used topas but problem is it will show output only when we press ctrl +c.
Please let me know if there is some other command that will give cpu utilisation which i can use in shell script.
Thanks (3 Replies)
Discussion started by: ranvijaidba
3 Replies
9. SuSE
Hi Guys
I am running an Oracle database and most of my sessions are waiting for tcp.
Now, how do I check if tcp from the O/S level is servicing requests properly?
Please Help!!!
Thanks in advance... (4 Replies)
Discussion started by: Phuti
4 Replies
10. AIX
hi,
We have two LPARs, both have same capacity and believe same configuration. ulimit settings for oracle user is unlimited for both LPARs. Installed oracle databases with same configurations on both LPARs, both databases sync every second so volume is same. Both LPARs/databases have identical... (10 Replies)
Discussion started by: baladelaware73
10 Replies
LEARN ABOUT DEBIAN
remrunqueue
RUNQUEUE(9) BSD Kernel Developer's Manual RUNQUEUE(9)
NAME
chooseproc, procrunnable, remrunqueue, setrunqueue -- manage the queue of runnable processes
SYNOPSIS
#include <sys/param.h>
#include <sys/proc.h>
extern struct rq itqueues[];
extern struct rq rtqueues[];
extern struct rq queues[];
extern struct rq idqueues[];
struct thread *
choosethread(void);
int
procrunnable(void);
void
remrunqueue(struct thread *td);
void
setrunqueue(struct thread *td);
DESCRIPTION
The run queue consists of four priority queues: itqueues for interrupt threads, rtqueues for realtime priority processes, queues for time
sharing processes, and idqueues for idle priority processes. Each priority queue consists of an array of NQS queue header structures. Each
queue header identifies a list of runnable processes of equal priority. Each queue also has a single word that contains a bit mask identify-
ing non-empty queues to assist in selecting a process quickly. These are named itqueuebits, rtqueuebits, queuebits, and idqueuebits. The
run queues are protected by the sched_lock mutex.
procrunnable() returns zero if there are no runnable processes other than the idle process. If there is at least one runnable process other
than the idle process, it will return a non-zero value. Note that the sched_lock mutex does not need to be held when this function is
called. There is a small race window where one CPU may place a process on the run queue when there are currently no other runnable processes
while another CPU is calling this function. In that case the second CPU will simply travel through the idle loop one additional time before
noticing that there is a runnable process. This works because idle CPUs are not halted in SMP systems. If idle CPUs are halted in SMP sys-
tems, then this race condition might have more serious repercussions in the losing case, and procrunnable() may have to require that the
sched_lock mutex be acquired.
choosethread() returns the highest priority runnable thread. If there are no runnable threads, then the idle thread is returned. This func-
tion is called by cpu_switch() and cpu_throw() to determine which thread to switch to. choosethread() must be called with the sched_lock
mutex held.
setrunqueue() adds the thread td to the tail of the appropriate queue in the proper priority queue. The thread must be runnable, i.e. p_stat
must be set to SRUN. This function must be called with the sched_lock mutex held.
remrunqueue() removes thread td from its run queue. If td is not on a run queue, then the kernel will panic(9). This function must be
called with the sched_lock mutex held.
SEE ALSO
cpu_switch(9), scheduler(9), sleepqueue(9)
BSD
November 3, 2000 BSD