procinfo – Shows System Statistics from /proc Filesystem

Posted on

The proc file system is a virtual file system that contains files that store information about processes and other system information. It is mapped to the /proc directory and mounted at boot time. A number of programs retrieve information from /proc file system, process it and provide it readily usable for various purposes.

Procinfo is a simple command line utility for viewing system information collected from /proc directory and prints it beautifully formatted on the standard output device. In this article, we will explain a number of procinfo command examples in Linux.

In most Linux distributions, the procinfo command should come pre-installed, if you don’t have it, install it using following command.

$ sudo apt install procinfo		#Debian/Ubuntu
$ sudo yum install procinfo		#CentOS/RHEL
$ sudo dnf install procinfo		#Fedora 22+

The simplest example is to run procinfo without any arguments as shown.

$ procinfo

Memory:        Total        Used        Free     Buffers                       
RAM:         8069036     7693288      375748      301356                       
Swap:        3906556           0     3906556                                   

Bootup: Mon Jun  4 11:09:45 2018   Load average: 0.35 0.84 1.01 1/1021 15406   

user  :   01:09:12.02  13.4%  page in :          2434469                       
nice  :   00:02:12.37   0.4%  page out:          2162544                       
system:   00:15:17.34   3.0%  page act:          2395528                       
IOwait:   00:39:04.09   7.6%  page dea:             3424                       
hw irq:   00:00:00.00   0.0%  page flt:         20783328                       
sw irq:   00:00:29.07   0.1%  swap in :                0                       
idle  :   06:30:26.88  75.6%  swap out:                0                       
uptime:   02:10:11.66         context :         51698643                       

irq   0:         21  2-edge timer        irq  42:          0  466944-edge PCIe 
irq   1:       3823  1-edge i8042        irq  43:     193892  327680-edge xhci_
irq   8:          1  8-edge rtc0         irq  44:     191759  512000-edge 0000:
irq   9:       2175  9-fasteoi acpi      irq  45:    1021515  524288-edge enp1s
irq  12:       6865  12-edge i8042       irq  46:     541926  32768-edge i915  
irq  19:          0  19-fasteoi rtl_pc   irq  47:         14  360448-edge mei_m
irq  23:         33  23-fasteoi ehci_h   irq  48:        344  442368-edge snd_h
irq  40:          0  458752-edge PCIe    irq  49:        749  49152-edge snd_hd
irq  41:          0  464896-edge PCIe                                          

loop0              90r               0   loop4              14r               0
loop1             159r               0   loop5            7945r               0
loop2             214r               0   loop6             309r               0
loop3              79r               0   sda           112544r           70687w

enp1s0      TX 58.30MiB      RX 883.00MiB     vmnet8      TX 0.00B         RX 0.00B        
lo          TX 853.65KiB     RX 853.65KiB     wlp2s0      TX 0.00B         RX 0.00B        
vmnet1      TX 0.00B         RX 0.00B                                          

To print memory stats in human readable format (KiB, MiB, GiB), instead of the default Kbytes, use the -H flag.

$ procinfo -H

Memory:        Total        Used        Free     Buffers                       
RAM:         7.70GiB     7.36GiB   344.27MiB   294.38MiB                       
Swap:        3.73GiB       0.00B     3.73GiB                                   

Bootup: Mon Jun  4 11:09:45 2018   Load average: 0.61 0.84 1.00 2/1017 15439   

user  :   01:09:21.25  13.3%  page in :          2434613                       
nice  :   00:02:12.43   0.4%  page out:          2223808                       
system:   00:15:19.82   2.9%  page act:          2416184                       
IOwait:   00:39:08.21   7.5%  page dea:             3424                       
hw irq:   00:00:00.00   0.0%  page flt:         20891258                       
sw irq:   00:00:29.08   0.1%  swap in :                0                       
idle  :   06:33:48.38  75.7%  swap out:                0                       
uptime:   02:11:06.85         context :         51916194                       

irq   0:         21  2-edge timer        irq  42:          0  466944-edge PCIe 
irq   1:       3985  1-edge i8042        irq  43:     196957  327680-edge xhci_
irq   8:          1  8-edge rtc0         irq  44:     192411  512000-edge 0000:
irq   9:       2196  9-fasteoi acpi      irq  45:    1021900  524288-edge enp1s
irq  12:       6865  12-edge i8042       irq  46:     543742  32768-edge i915  
irq  19:          0  19-fasteoi rtl_pc   irq  47:         14  360448-edge mei_m
irq  23:         33  23-fasteoi ehci_h   irq  48:        344  442368-edge snd_h
irq  40:          0  458752-edge PCIe    irq  49:        749  49152-edge snd_hd
irq  41:          0  464896-edge PCIe                                          

loop0              90r               0   loop4              14r               0
loop1             159r               0   loop5            7945r               0
loop2             214r               0   loop6             309r               0
loop3              79r               0   sda           112568r           71267w

enp1s0      TX 58.33MiB      RX 883.21MiB     vmnet8      TX 0.00B         RX 0.00B        
lo          TX 854.18KiB     RX 854.18KiB     wlp2s0      TX 0.00B         RX 0.00B        
vmnet1      TX 0.00B         RX 0.00B                                        

The -d flag allows for displaying statistics on a per-seconds basis rather than as total values.

$ procinfo -d 

To display statistics as totals, use the -D flag as follows.

$ procinfo -D

You can get continues updates on the screen and pause updates for N number of second (for instance 5 seconds in this command) using the -n flag and press q to quit in this mode.

$ procinfo -n5 -H

To report “real” free memory similar to that showed by the free utility, use the -r option.

$ procinfo -r 

To show numbers of bytes instead of number of I/O requests, employ the -b option.

$ procinfo -b

Procinfo works interactively too, when run fullscreen, this allows you to use the d, D, r and b keys whose functions correspond to their same-named command line flags explained above.

For more information, see the procinfo man page.

$ man procinfo 

In this article, we have explained a number of procinfo command examples. If you have any queries, use the feedback form below to reach us.

Source: tecmint.com

Leave a Reply

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