10-22-2011
Quote:
Originally Posted by
newaix
>>actually the server has 4 virtual cpus, is entitled to use 3.6 and being p5 that means 8 threads >>
Can you please clarify this.
your vmstat output says something like lcpu 8 ent 3.6 - if you would run lparstat -i you would see that you have under the value of virtual cpus active 4 virtual cpus.
With micropartitioning you do not have 'physical' cpus at all. What you effectively have is cpu time allowance. So in your setup you are allowing to utilize the system by default 90% time of 4 cpus. With the number of virtual cpus you are allowing the system to spread its load across 4 physical cpus. And each virtual cpu can keep the cpu up to 100% of the time if the workload does require it - if a virtual cpu is not needed at all by the workload, it is folded (given back to the cpu pool of the frame for the other lpars to use it if they need it).
Entitled cpu (time) is guaranteed to your lpar - that means if your lpar is asking for those cpus, it will get them no matter how busy the frame pool is. Ideally this value should be set to the average utilization of any given lpar over a 24 hrs cycle. Virtual cpus are the maximum allowance of cpus that can be used. The difference between ent cpu and virtual cpus comes from the frame pool - activated but currently not used by other lpars cpus that have been either not directly assigned as entitled cpus to other lpars or being handed back to the cpu pool by the scheduler as currently not required. Ideally this is set to the maximum peak utilization value of your lpar and should be higher than your peak utilization. Virtual cpus are always 'full cpus' as each virtual cpu can grow to 100% cpu time. If you reach the amount of cpus (vmstat -Iwt output - pc column) or if your runqueue (the very first column in the same output) is frequently exceeding the amount of lcpus (very top of the output - 8 in your case) than you do not have enough virtual cpus entitled. Each virtual cpus gives you 2 lcpus or threads available to the applications.
If you change the amount of virtual cpus without changing your ent cpus, than this actually means that you are spreading your cpu time allowance across more physical cpus allowing your lpar to be more flexible and the frame to better utilize resources. How much the right amount for your lpar is depends on various different factors like what are your applications are doing.
If your applications are doing many threads with only little load (like typical webservers) than many virtual cpus worth little entitlement (like 10 virtual cpus for 1 ent cpu) might make sense. If you have a multithread medium load workload like the typical oracle DB than you should experiment on what seems to be the optimum for your lpar but usually something between 25 and 50% will be most likely ideal for your lpar (1 ent cpu, 2-4 virtuals). If you have a few big thread workload (like the typical sybase workload with one engine) than the ideal amount of virtual cpus is 1 virtual cpu per engine + 1 cpu for the kernel (on p5 + p6) or 1 virtual cpu per engine (on p7) where one virtual cpu should be between 25% and 80% of one entitled cpu (again depending on what your DB is doing - fewer for oltp, more for reporting workloads. Generally a virtual cpu should not be worth more than 80% of an entitled cpu or the entire virtualization doesnt make any sense.
Regards
zxmaus
10 More Discussions You Might Find Interesting
1. Filesystems, Disks and Memory
hi,
In response to your cpu usage answer
I too read sys/sysinfo.h but , if we put these values to access the repective time fields in the array pst_cpu_time which is a member of the structure pst_dynamic values doesn't seem to match, why is like this? (0 Replies)
Discussion started by: sushaga
0 Replies
2. Programming
how can i monitor usages of CPU, Memory, Hard disk etc. under SUN Solaries
through a c program or java program
i want to store that data into database so i can show it graphically
thanks in advance (2 Replies)
Discussion started by: Gajanad Bihani
2 Replies
3. UNIX for Dummies Questions & Answers
when i got the cpu usage values of the all process
running in my sytem i see that 140% of the cpu is used.
(using ps aux command)
i have a 4 cpu system.
can we say that averagely 35% of each cpu is used?
and if i want to speak more precisely,
how can i find out that, which cpu is used at... (4 Replies)
Discussion started by: gfhgfnhhn
4 Replies
4. Programming
Please tell me solaris functions/api for getting following information
1- Function that tells how much memory used by current process
2- Function that tells how much memory used by all running processes
3- Function that tells how much CPU is used by current process
4- Function that tells how... (1 Reply)
Discussion started by: mansoorulhaq
1 Replies
5. UNIX for Dummies Questions & Answers
can anyone tell me How to check memory and CPU usage of a certain process (1 Reply)
Discussion started by: ccp
1 Replies
6. HP-UX
how can I find cpu usage memory usage swap usage and
I want to know CPU usage above X% and contiue Y times and memory usage above X % and contiue Y times
my final destination is monitor process
logical volume usage above X % and number of Logical voluage above
can I not to... (3 Replies)
Discussion started by: alert0919
3 Replies
7. Solaris
Hi,
I want to monitor the current cpu usage, monitor usage , disk I/o and network utlization for solaris using SNMP.
I want the oids for above tasks.
can you please tell me that
Thank you (2 Replies)
Discussion started by: S_venkatesh
2 Replies
8. Solaris
Hello Friends,
On one of my Solaris 10 box, CPU usage shows 100% using "sar", "vmstat". However, it has 4 CPUs and prstat and glance are not showing enough processes to justify high CPU utilization.
=========================================================================
$ prstat -a
... (4 Replies)
Discussion started by: mahive
4 Replies
9. AIX
How to monitor the IBM AIX server for I/O usage, memory usage, CPU usage, network usage, storage usage? (3 Replies)
Discussion started by: laknar
3 Replies
10. AIX
Hi Guys,
I am a newbie on the forum. This is my first post, so first of all I would like to introduce myself.
I am a SAS Analyst programmer working for an Health Insurance client. SAS is installed on a 16 CPU AIX Server with partitions running with shared processor. I have couple of... (2 Replies)
Discussion started by: saurabhiim2003
2 Replies
LEARN ABOUT MOJAVE
vmstat
vmstat(1M) System Administration Commands vmstat(1M)
NAME
vmstat - report virtual memory statistics
SYNOPSIS
vmstat [-cipqsS] [disks] [ interval [count]]
DESCRIPTION
vmstat reports virtual memory statistics regarding kernel thread, virtual memory, disk, trap, and CPU activity.
On MP (multi-processor) systems, vmstat averages the number of CPUs into the output. For per-processor statistics, see mpstat(1M).
vmstat only supports statistics for certain devices. For more general system statistics, use sar(1), iostat(1M), or sar(1M).
Without options, vmstat displays a one-line summary of the virtual memory activity since the system was booted.
During execution of the kernel status command, the state of the system can change. If relevant, a state change message is included in the
vmstat output, in one of the following forms:
<<device added: sd0>>
<<device removed: sd0>>
<<processors added: 1, 3>>
<<processors removed: 1, 3>>
See System Administration Guide: Advanced Administration for device naming conventions for disks.
OPTIONS
The following options are supported:
-c Report cache flushing statistics. This option is obsolete, and no longer meaningful. This option might be removed in a future
version of Solaris.
-i Report the number of interrupts per device. count and interval does not apply to the -i option.
-p Report paging activity in details. This option will display the following, respectively:
epi Executable page-ins.
epo Executable page-outs.
epf Executable page-frees.
api Anonymous page-ins.
apo Anonymous page-outs.
apf Anonymous page-frees.
fpi File system page-ins.
fpo File system page-outs.
fpf File system page-frees.
When executed in a zone and if the pools facility is active, all of the above only report actitivity on the processors in the pro-
cessor set of the zone's pool.
-q Suppress messages related to state changes.
-s Display the total number of various system events since boot. count and interval does not apply to the -s option.
-S Report on swapping rather than paging activity. This option will change two fields in vmstat's ``paging'' display: rather than the
``re'' and ``mf'' fields, vmstat will report ``si'' (swap-ins) and ``so'' (swap-outs).
OPERANDS
The following operands are supported:
count Specifies the number of times that the statistics are repeated. count does not apply to the -i and -s options.
disks Specifies which disks are to be given priority in the output (only four disks fit on a line). Common disk names are id, sd,
xd, or xy, followed by a number (for example, sd2, xd0, and so forth).
interval Specifies the last number of seconds over which vmstat summarizes activity. This number of seconds repeats forever. inter-
val does not apply to the -i and -s options.
EXAMPLES
Example 1: Using vmstat
The following command displays a summary of what the system is doing every five seconds.
example% vmstat 5
kthr memory page disk faults cpu
r b w swap free re mf pi p fr de sr s0 s1 s2 s3 in sy cs us sy id
0 0 0 11456 4120 1 41 19 1 3 0 2 0 4 0 0 48 112 130 4 14 82
0 0 1 10132 4280 0 4 44 0 0 0 0 0 23 0 0 211 230 144 3 35 62
0 0 1 10132 4616 0 0 20 0 0 0 0 0 19 0 0 150 172 146 3 33 64
0 0 1 10132 5292 0 0 9 0 0 0 0 0 21 0 0 165 105 130 1 21 78
1 1 1 10132 5496 0 0 5 0 0 0 0 0 23 0 0 183 92 134 1 20 79
1 0 1 10132 5564 0 0 25 0 0 0 0 0 18 0 0 131 231 116 4 34 62
1 0 1 10124 5412 0 0 37 0 0 0 0 0 22 0 0 166 179 118 1 33 67
1 0 1 10124 5236 0 0 24 0 0 0 0 0 14 0 0 109 243 113 4 56 39
^C
example%
The fields of vmstat's display are
kthr Report the number of kernel threads in each of the three following states:
r the number of kernel threads in run queue
b the number of blocked kernel threads that are waiting for resources I/O, paging, and so forth
w the number of swapped out lightweight processes (LWPs) that are waiting for processing resources to finish.
memory Report on usage of virtual and real memory.
swap available swap space (Kbytes)
free size of the free list (Kbytes)
page Report information about page faults and paging activity. The information on each of the following activities is given in
units per second.
re page reclaims -- but see the -S option for how this field is modified.
mf minor faults -- but see the -S option for how this field is modified.
pi kilobytes paged in
po kilobytes paged out
fr kilobytes freed
de anticipated short-term memory shortfall (Kbytes)
sr pages scanned by clock algorithm
When executed in a zone and if the pools facility is active, all of the above (except for "de") only report activity on the
processors in the processor set of the zone's pool.
disk Report the number of disk operations per second. There are slots for up to four disks, labeled with a single letter and
number. The letter indicates the type of disk (s = SCSI, i = IPI, and so forth); the number is the logical unit number.
faults Report the trap/interrupt rates (per second).
in interrupts
sy system calls
cs CPU context switches
When executed in a zone and if the pools facility is active, all of the above only report actitivity on the processors in
the processor set of the zone's pool.
cpu Give a breakdown of percentage usage of CPU time. On MP systems, this is an average across all processors.
us user time
sy system time
id idle time
When executed in a zone and if the pools facility is active, all of the above only report actitivity on the processors in
the processor set of the zone's pool.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWcsu |
+-----------------------------+-----------------------------+
|Interface Stability |See below. |
+-----------------------------+-----------------------------+
Invocation is evolving. Human readable output is unstable.
SEE ALSO
sar(1), iostat(1M), mpstat(1M), sar(1M), attributes(5)
System Administration Guide: Basic Administration
System Administration Guide: Advanced Administration
NOTES
The sum of CPU utilization might vary slightly from 100 because of rounding errors in the production of a percentage figure.
The -c option (Report cache flushing statistics) is not supported in this release.
SunOS 5.10 20 Dec 2004 vmstat(1M)