Sponsored Content
Full Discussion: Vmstat
Top Forums UNIX for Dummies Questions & Answers Vmstat Post 7132 by Perderabo on Wednesday 19th of September 2001 08:55:05 AM
Old 09-19-2001
System call are those things documented in section 2 of the manual. They are things like open(), read(), fork(), exec(). Each time any program calls any of those, a counter is incremented. vmstat is showing the increments to that counter.

Once a process starts to run, it gets to run until its timeslice runs out. But if it does something like read(), it must wait until the read finishes before it can run some more. When one process stops running for any reason, the kernel must look at the run queues to find another process to run. This operation of allowing another process to run is called a context switch. Again each time it happens, a counter is incremented and vmstat is showing the increments.

If no process is on the run queues, the kernel will repeatedly scan the run queues until a process appears there. While the kernel is scanning the run queues, the system is idle.

A high number of context switches is not good. If the kernel is context switching too often, that 10% idle could be misleading. It might actually be scanning the run queues once 10% of the time rather than looping as it waits for a runnable process.
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

vmstat

Hi, In the unix command, "vmstat" we get information on Page memory. what does the "mf" - "minor fault" is? Regards, Anent (3 Replies)
Discussion started by: anent
3 Replies

2. UNIX for Dummies Questions & Answers

vmstat

When I exeute vmstat (e.g. vmstat 30 2), in some machines I get some wierd result as the first line. like: -117% or 208% for CPU idle percentage. But the second line is alright. Could someone explain this please. Thanks ! Chaadana (4 Replies)
Discussion started by: chaandana
4 Replies

3. UNIX for Advanced & Expert Users

vmstat

Hi, what does mean the free colomne in out put of vmstat ? is it free espace of physical memory or of swap space on hard disk ? Thank you (4 Replies)
Discussion started by: big123456
4 Replies

4. UNIX for Dummies Questions & Answers

vmstat

Hi I wanted to collect data by using vmstat -I 60 >xxxx.txt & using my own account It was stopped by it self after 2 hours try again same result We want to collect day date by succession how to collect data using vmstat for day Thank you (2 Replies)
Discussion started by: Syed_45
2 Replies

5. Solaris

Huge PI in vmstat

This is something nowbody around me can explain: vmstat (-S 5) shows a huge number of PI but when I try to monitor it in parallel with iostat - there is no IO activity to be seen that would correspond to this. I have 16G RAM and 32G swap file. I'll really appreciate if somebody can explain it.... (9 Replies)
Discussion started by: dkvent
9 Replies

6. Linux

vmstat help

Hi everyone, I need to see some VM manager performance/behavior information on some Linux boxes regarding pages scanned/activation of the paging algorithm in order to get an idea if a given server needs more memory and is actually paging. In Aix servers, by using the vmstat cmd you... (1 Reply)
Discussion started by: jcpetela
1 Replies

7. Shell Programming and Scripting

vmstat

Hi I need to write a script to display VMSTAT every 5 seconds and I just need the memory columns - swap free re and just the numbers and the headers arent required. For example bash-3.00$ vmstat 5| awk '{print $4" "$5" "$6}' disk faults cpu ------ This header isnt required swap... (3 Replies)
Discussion started by: kapilk
3 Replies

8. AIX

Need guidance on VMStat

I need some guidance on the differences in observations, not sure how significantly different are they. Also, It would be nice to hear on the values and what the obvious tuning for performance missing. Observation 1 ending vmstat -v 3948544 memory pages ending vmstat -v ... (1 Reply)
Discussion started by: Snipper
1 Replies

9. Solaris

Vmstat | nawk

I'm trying to parse vmstat output with this: vmstat | nawk '/0/{printf "%s\ \n", $5}' but output is different on two sparc Solaris 10 servers, one is missing line with 'free'. why ? (3 Replies)
Discussion started by: orange47
3 Replies

10. Linux

Vmstat

I m checking idle time using vmstat, below are the results var=$(ssh wmtmgr@$hostname vmstat | tail -1 | awk '{print $15}') 89 and now im subtracting 89 with 100 & im getting expected results expr 100 - $var 11 Now How can I get the result 11 in one line code? (4 Replies)
Discussion started by: sam@sam
4 Replies
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
All times are GMT -4. The time now is 11:32 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy