Monitoring Linux servers with procinfo

I recently came across the procinfo utility, and use it periodically to view system utilization and configuration data on the Linux servers I support. Procinfo is a monitoring utility that interfaces with the Linux /proc file system, and displays data such as CPU utilization, memory utilization, interrupts serviced and information on the modules that are currently loaded into the kernel. The full list of options is documented in the procinfo “-h” (print a help screen) option:

$ procinfo -h

procinfo version 18 (2001-03-02)
usage: ./procinfo [-fsmadiDSbhv] [-nN] [-Ffile]

        -s      display memory, disk, IRQ & DMA info (default)
        -m      display module and device info
        -a      display all info
        -f      run full screen

        -i      show all IRQ channels, not just those used
        -nN     pause N second between updates (implies -f)
        -d      show differences rather than totals (implies -f)
        -D      show current memory/swap usage, differences on rest
        -S      with -nN and -d/-D, always show values per second
        -r      show memory usage -/+ buffers/cache
        -Ffile  print output to file -- normally a tty
        -v      print version info
        -h      print this help

To see this nifty utility in action, you can run it without arguments to get the basic display:

$ procinfo

Linux 2.6.16-1.2122_FC5 (bhcompile@hs20-bc1-3) (gcc 4.1.0 20060304 ) #1 Sun May 21 15:01:01 EDT 2006 1CPU [fedora]

Memory:      Total        Used        Free      Shared     Buffers      
Mem:        515816      509384        6432           0       21924
Swap:       522104          76      522028

Bootup: Sat Jun 24 10:12:53 2006    Load average: 1.83 1.10 0.55 1/63 5420

user  :       0:01:21.51   1.8%  page in :        0
nice  :       0:00:16.94   0.4%  page out:        0
system:       0:01:24.18   1.8%  swap in :        0
idle  :       1:06:15.81  87.1%  swap out:        0
uptime:       1:16:05.69         context :   350192

irq  0:   1136198 timer                 irq  9:        78 Intel 82801BA-ICH2,  
irq  1:       232 i8042                 irq 10:    183597 eth0                 
irq  2:         0 cascade [4]           irq 12:       310 i8042                
irq  6:         6                       irq 14:    110425 ide0                 
irq  8:         1 rtc                  

In addition to displaying status information, you can also display the modules, devices and file systems that are present in the kernel by invoking procinfo with the “-m” (display module and device info) option:

$ procinfo -m

Linux 2.6.16-1.2122_FC5 (bhcompile@hs20-bc1-3) (gcc 4.1.0 20060304 ) #1 Sun May 21 15:01:01 EDT 2006 1CPU [fedora]

Kernel Command Line:
  ro root=LABEL=/ rhgb quiet

Modules:
220 *ipv6            19 *autofs4         16 *hidp            34  rfcomm          23 *l2cap           43 *bluetooth      
133 *sunrpc           5  ipt_REJECT       3  xt_tcpudp       12 *x_tables        20  dm_mirror       50 *dm_mod         
 12  lp              25  parport_pc      34 *parport         56  floppy           8  nvram           28  uhci_hcd       
 30  snd_intel8x0    82 *snd_ac97_codec   2 *snd_ac97_bus     4  snd_seq_dummy   28  snd_seq_oss      7 *snd_seq_midi_e 
 46 *snd_seq          9 *snd_seq_device  44  snd_pcm_oss     16 *snd_mixer_oss   75 *snd_pcm         22 *snd_timer      
 10  ne2k_pci        49 *snd             10 *8390             9 *soundcore       10 *snd_page_alloc 113 *ext3           
 51 *jbd            

Character Devices:                      Block Devices:
  1 mem              13 input             1 ramdisk         
  4 /dev/vc/0        14 sound             2 fd              
  4 tty              29 fb                3 ide0            
  4 ttyS            116 alsa              9 md              
  5 /dev/tty        128 ptm             253 device-mapper   
  5 /dev/console    136 pts             254 mdp             
  5 /dev/ptmx       180 usb                                  
  6 lp              189 usb_device                           
  7 vcs             216 rfcomm                               
 10 misc            254 pcmcia                               

File Systems:
[sysfs]             [rootfs]            [bdev]              [proc]              [binfmt_misc]       [debugfs]           
[securityfs]        [sockfs]            [usbfs]             [pipefs]            [futexfs]           [tmpfs]             
[inotifyfs]         [eventpollfs]       [devpts]            ext2                [ramfs]             [hugetlbfs]         
iso9660             [mqueue]            ext3                [rpc_pipefs]        [autofs]            

As with most utilities, you can also invoke procinfo with the “-f” (run full screen) option to get a full screen display that is periodically refreshed (you can control the refresh rate with the “-n” (pause N seconds) option).

Leave a Reply

Your email address will not be published. Required fields are marked *