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 a 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