On Thu, Feb 12, 2009 at 09:02:42PM +0100, Johansen.Klaus KYJ wrote:
> 1)
> The man (5) page for cpuplugd mentions that the "acpr" variable is "The
> amount of page cache reads (as listed in vmstat in the bi and bo
> fields)". According to the man page for vmstat "bi" and "bo" is "Blocks
> received from/sent to a block device (blocks/s)" - exactly what "page
> cache" are they referring to?
This is probably a little inaccuracy of the cpuplugd man page.
Your concern is correct, the vmstat manpage contains the following section:
bi: Blocks received from a block device (blocks/s).
bo: Blocks sent to a block device (blocks/s).
The algorithm to compute the apcr value is derived from the one used in vmstat.
The basic values are the following fields of /proc/vmstat:
Number of pageins and pageouts (since the last boot):
pgpgin
pgpgout
One problem we face here is the fact, that the values and well as their
interpretation
has changed from time to time in the past. Currently the apcr variable might be
better
described as "amount of block i/o operations" since this is data gathered from
the
block layer on every write/read operation.
> 2)
> Am I the only one who thinks a "filecache" variable ("cached" from
> /proc/meminfo) could be very useful? That is, considering Linux's
> tendency to use all free memory for file cache - and all the problems it
> creates in a virtual environment (related to LRU and slow single
> threaded sequential z/VM paging).
It is a good idea to integrate the cached variable from /proc/meminfo
into the cpuplugd rule set. I will integrate this functionality into the
next release.
> 3)
> Can anyone explain the logic in the default HOTPLUG/HOTUNPLUG rules? -
> Or the rationale of bringing "loadavg" to cpuplugd in the first place?
> >From the man page:
> hotplug = "(loadavg > onumcpus + 0.75) & (idle < 10.0)"
> hotunplug = "(loadavg < onumcpus - 0.25) | (idle > 50)"
In this exemplary rule it is not important if loadavg is in the first
place or not. When we take a look at the hotplug rule, we replace
loadavg with the current load average and onumcpus with the current
number of online (active) cpus. Finally idle is replaced with the current
idle percentage.
All in all, a hotplug rule is executed (a cpu is activated) if the
load average is greater than the number of active cpus + 0.75 *and* the
idle percentage of the system is below 10 percent. Since all the values
are evaluated and in the end the result of the rule is true or false the
order of the separate values in this example is not important.
In the hotunplug case a cpus is deactivated if the load average is
smaller than the number of online cpus minus 0.25 or the idle percentage
if above 50 percent.
During some tests we conducted this rule set seemed to work best on a
general purpose installation. You have to keep in mind that you probably
have to run a lot of tests to find the perfect rule setup for your
workload.
> Is it possible to monitor the number of pages a guest has assigned to
> the "cmm1 page pool" at CP level? That is, the "dynamic guest size" seen
> from CP point of view (not proc/sys/vm/cmm_pages) - For example from
> Perfkit? (Unfortunately we don't have Velocity's performance products).
I'm not sure about Perfkit but IMHO CP does not care about the dynamic
guest size since this is handled between the resource monitor and the guest
operating system.
With best regards,
--Hans
----------------------------------------------------------------------
For LINUX-390 subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO LINUX-390 or visit
http://www.marist.edu/htbin/wlvindex?LINUX-390