Sys::Statistics::Linux::Processes.3pm

Langue: en

Autres versions - même langue

Version: 2009-06-05 (debian - 07/07/09)

Section: 3 (Bibliothèques de fonctions)

NAME

Sys::Statistics::Linux::Processes - Collect linux process statistics.

SYNOPSIS

     use Sys::Statistics::Linux::Processes;
 
     my $lxs = Sys::Statistics::Linux::Processes->new;
     # or Sys::Statistics::Linux::Processes->new(pids => \@pids)
 
     $lxs->init;
     sleep 1;
     my $stat = $lxs->get;
 
 

DESCRIPTION

Sys::Statistics::Linux::Processes gathers process informations from the virtual /proc filesystem (procfs).

For more informations read the documentation of the front-end module Sys::Statistics::Linux.

PROCESS STATISTICS

Generated by /proc/<pid>/stat, /proc/<pid>/status, /proc/<pid>/cmdline and getpwuid().

Note that if /etc/passwd isn't readable, the key owner is set to N/a.

     ppid      -  The parent process ID of the process.
     nlwp      -  The number of light weight processes that runs by this process.
     owner     -  The owner name of the process.
     pgrp      -  The group ID of the process.
     state     -  The status of the process.
     session   -  The session ID of the process.
     ttynr     -  The tty the process use.
     minflt    -  The number of minor faults the process made.
     cminflt   -  The number of minor faults the child process made.
     mayflt    -  The number of mayor faults the process made.
     cmayflt   -  The number of mayor faults the child process made.
     stime     -  The number of jiffies the process have beed scheduled in kernel mode.
     utime     -  The number of jiffies the process have beed scheduled in user mode.
     ttime     -  The number of jiffies the process have beed scheduled (user + kernel).
     cstime    -  The number of jiffies the process waited for childrens have been scheduled in kernel mode.
     cutime    -  The number of jiffies the process waited for childrens have been scheduled in user mode.
     prior     -  The priority of the process (+15).
     nice      -  The nice level of the process.
     sttime    -  The time in jiffies the process started after system boot.
     actime    -  The time in D:H:M:S (days, hours, minutes, seconds) the process is active.
     vsize     -  The size of virtual memory of the process.
     nswap     -  The size of swap space of the process.
     cnswap    -  The size of swap space of the childrens of the process.
     cpu       -  The CPU number the process was last executed on.
     wchan     -  The "channel" in which the process is waiting.
     fd        -  This is a subhash containing each file which the process has open, named by its file descriptor.
                  0 is standard input, 1 standard output, 2 standard error, etc. Because only the owner or root
                  can read /proc/<pid>/fd this hash could be empty.
     cmd       -  Command of the process.
     cmdline   -  Command line of the process.
 
 

Generated by /proc/<pid>/statm. All statistics provides information about memory in pages:

     size      -  The total program size of the process.
     resident  -  Number of resident set size, this includes the text, data and stack space.
     share     -  Total size of shared pages of the process.
     trs       -  Total text size of the process.
     drs       -  Total data/stack size of the process.
     lrs       -  Total library size of the process.
     dtp       -  Total size of dirty pages of the process (unused since kernel 2.6).
 
 

It's possible to convert pages to bytes or kilobytes. Example - if the pagesize of your system is 4kb:

     $Sys::Statistics::Linux::Processes::PAGES_TO_BYTES =    0; # pages (default)
     $Sys::Statistics::Linux::Processes::PAGES_TO_BYTES =    4; # convert to kilobytes
     $Sys::Statistics::Linux::Processes::PAGES_TO_BYTES = 4096; # convert to bytes
 
 

METHODS

new()

Call "new()" to create a new object.
     my $lxs = Sys::Statistics::Linux::Processes->new;
 
 

It's possible to handoff an array reference with a PID list.

     my $lxs = Sys::Statistics::Linux::Processes->new(pids => [ 1, 2, 3 ]);
 
 

init()

Call "init()" to initialize the statistics.
     $lxs->init;
 
 

get()

Call "get()" to get the statistics. "get()" returns the statistics as a hash reference.
     my $stat = $lxs->get;
 
 

EXPORTS

No exports.

SEE ALSO

proc(5)

perldoc -f getpwuid

REPORTING BUGS

Please report all bugs to <jschulz.cpan(at)bloonix.de>.

AUTHOR

Jonny Schulz <jschulz.cpan(at)bloonix.de>. Copyright (c) 2006, 2007 by Jonny Schulz. All rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.