NAME

Linux::stat - parse /proc/stat

SYNOPSIS

use Linux::stat;

      my $stat = Linux::stat->new( [ stat => "path to /proc/stat" ] );
      my $hashref = $stat->stat();

or

my $hashref = Linux::stat::stat( [ "path to /proc/stat" ] );

DESCRIPTION

Linux::stat is a simple Perl module which parses /proc/stat file. Info is arranged in hash reference with descriptive keys.

Linux::stat was written on RedHat Linux 7.2, kernel 2.4.7 and tested on RedHat 6.2, kernel 2.2.14. It is expected to work with other versions as well, but this depends on Linux configuration and kernel version.

Output data can be easily previewed with Data::VarPrint package, available at CPAN.

Output fields (some of these are unavailable on kernels older than 2.4):

boot_timestamp

        Timestamp (number of seconds since epoch) when the system
        was booted

context_switch

        Context switch, used by Linux job scheduler; for more info
        check Linux kernel sources: kernel/sched.c (look for
        kstat.context_swtch)

cpu, cpu0, cpu1,...

Overall and per-CPU time: user, nice, system, idle

disks

Disks I/O (for each partition):

disk - disk number (0 for /dev/hda, 1 for /dev/hdb,...) io - total number of I/O requests
major - major disk number (partition number on the disk) read_count - number of reads from disk read_sectors - number of sectors read from disk write_count - number of writes to disk write_sectors - number of sectors written to disk disks_io

        Overall disk I/O info; same fields as in disks (of course,
        except for disk and major)

interrupts

Number for interrupts for each IRQ

interrupts_total

        Total number of interrupts (same as sum of all numbers in
        interrupts)

kstat.*

Not parsed, just added to hash

pages_in

Number of pages read

pages_out

Number of pages written

swap_pages_in

Number of pages read from swap

swap_pages_out

Number of pages written to swap

total_forks

Number of processes run since boot

uptime

        System uptime in seconds (same as sum of all four times for
        cpu)

All not-recognized fields are just passed on without parsing.

OPTIONS

Currently, the only option available is stat which is path to /proc/stat in case this changes for some reason.

FILES

/proc/stat CPU, disk and some other information

REQUIRES

Perl 5.000

SEE ALSO

perl(1)

AUTHOR

Vedran Sego, vsego@math.hr