Re: [collectd] Solaris vmstat info available in any current plugins

2010-06-01 Thread Florian Forster
Hi Cleveland,

On Thu, May 27, 2010 at 10:59:43AM -0400, Cleveland Mark-RGKW63 wrote:
 Do any of the current plugins available on Solaris provide similar
 information to what you can get from vmstat? In particular I am
 interested in process information w/ respect to number that are
 running/blocked/waiting (r b w) and paging info, page in/page out info
 (pi po)

generally, this information is collected by the processes plugin.
Under Solaris, it is able to determine the number of running, blocked,
idle, … processes only.

The number of pagefaults, memory sizes etc. is determined on a
per-process basis if requested by the user. This is not yet possible
under solaris.

Global page-in/page-out counters could be added to the vmem plugin,
which is Linux-only at the moment.

Regards,
—octo
-- 
Florian octo Forster
Hacker in training
GnuPG: 0x91523C3D
http://verplant.org/


signature.asc
Description: Digital signature
___
collectd mailing list
collectd@verplant.org
http://mailman.verplant.org/listinfo/collectd


Re: [collectd] Solaris vmstat info available in any current plugins

2010-06-01 Thread Aurélien REYNAUD

Hello,


 On Thu, May 27, 2010 at 10:59:43AM -0400, Cleveland Mark-RGKW63 wrote:
  Do any of the current plugins available on Solaris provide similar
  information to what you can get from vmstat? In particular I am
  interested in process information w/ respect to number that are
  running/blocked/waiting (r b w) and paging info, page in/page out info
  (pi po)
 
 Global page-in/page-out counters could be added to the vmem plugin,
 which is Linux-only at the moment.

I have been working on adding global paging I/O stats lately. I have a patch 
ready for Solaris and AIX, but I intended to test it on my machines a little 
more before going public...

Anyway I am adding these features to the swap plugin, as there is already some 
code there for the linux case, using the swap_io type from types.db :
...
swap_submit (in, swap_in, DS_TYPE_DERIVE);
swap_submit (out, swap_out, DS_TYPE_DERIVE);
...
Where the value are taken from /proc/vmstat.

I don't mind moving my code to the vmem plugin, but I feel we should clearly 
define what metric goes to which plugin, as the question may be raised again 
shortly.

The heart of the problem is that on unix, swap is a subset of the virtual 
memory subsystem. For example, paging is an action decided by the vm under 
memory pressure, but it does not necessarily involve swap space: pages 
containing code are simply freed and reread from the ondisk executable if 
needed. On Solaris, under some circumstances we can even page out to memory... 
All this depends upon the vm subsystem implementation which can vastly differ 
between unices.

So I propose this:
- use the vmem plugin to monitor the specifics of each vm subsystem. We cannot 
assume here that two unices will have any metrics in common. Experts will know 
what metrics are meaningful on which OS
-  use the swap plugin to monitor swap devices: their usage and their i/o. They 
are common to all unices and any admin needs to know if they are appropriately 
sized and intensively accessed or not.

Implementation wise this means for example that on solaris, paging 
(executables, anonymous, global, etc...) will be in vmem, but a subset 
(anonymous) will be used in swap to report swap devices i/o.

Regards,
Aurelien Reynaud



___
collectd mailing list
collectd@verplant.org
http://mailman.verplant.org/listinfo/collectd