anyone knows what could be the reasons of the high value on the w column:
[root]/install/stats: vmstat 1
kthr memory page disk faults cpu
r b w swap free re mf pi po fr de sr m2 m2 m2 m2 in sy cs
us sy id
0 0 1 10667040 9026576 44 128 106 39 53 0 277 29 29 11 3 1991 34905
1988 5 1 94
0 0 99 25532344 14961416 111 1242 0 0 0 0 0 0 0 0 0 2872 34067 3563
6 1 92
0 0 99 25532144 14961312 0 4 0 0 0 0 0 0 0 0 0 2949 12273 3353
2 0 98
0 0 99 25532144 14961312 55 574 0 0 0 0 0 0 0 0 0 2778 9988 3045
2 1 97
0 0 99 25532144 14961312 0 0 0 0 0 0 0 0 0 0 0 2789 12983 3050
2 1 98
1 0 99 25532144 14961312 55 579 0 0 0 0 0 0 0 0 0 2777 11803 3051
2 1 97
I've read the man page:
w the number of swapped out light-
weight processes (LWPs) that are
waiting for processing resources to
finish.
but I'm not able to understand what the meaning of this is.
Solaris 10
Regards,
Heinz
as I read in the book "Solaris Performance and Tools" these are entire
threads. So my further question is: How can I identify the threads and
their PIDs?
Heinz
Those numbers aren't that high, for example on my desktop:
i7> vmstat 1
kthr
r b w
0 0 15
0 0 303
1 0 303
1 0 303
I've always assumed the threads were associated with ZFS.
--
Ian Collins
http://esemrick.blogspot.com/2006/04/solaris-and-high-wait-io-cpu.html
“Whenever there are any blocked processes, all cpu idle time is
treated as wait for I/O time! The vmstat command correctly includes
wait for I/O in its idle value…”
The clock interrupt handler in the Solaris operating system runs every
10ms (or at least used to) to get cpu utilization information. It will
search the state structure for each cpu and find that each cpu is in
one of five states: user, system, idle, waiting for I/O or quiesced.
Based on my understanding, the quiesced state is not really indicated
by a value stored in a structure or variable associated with a cpu. It
is simply the state when a cpu is not running user, system or idle
threads and not waiting for I/O.
The point is, a high value for wait I/O generated from sar on a
Solaris platform does not indicate a cpu bottleneck. Moreover, high
wait I/O values do not necessarily indicate an I/O bottleneck.
However, an I/O bottleneck could very easy manifest in high wait I/O
percentages. You really need to look at your I/O service times to
determine if the I/O subsystem is performing poorly.
In answer to your other question about what threads are causing it,
the answer may be none if the host is just idle.
Looking for trouble on an idle host can be puzzling because any one
thing will look bad/amplified by the numbers.
It's been easier for me to look for trouble on a host that's doing
something in the first place. Or, like the website says,
iostat -xz 10 and see if you truly have an I/O bottleneck (but then I
think you'd have at least one job in "r", or very apparent
sluggishness).
- Scott