procinfo - / procファイルシステムのシステム統計情報を表示する


procファイルシステムは、プロセスに関する情報やその他のシステム情報を格納するファイルを含む仮想ファイルシステムです。これは/proc ディレクトリにマップされ、起動時にマウントされます。多くのプログラムが/proc ファイルシステムから情報を取得し、それを処理してさまざまな目的にすぐに使えるようにしています。

ある[ Procinfo は、/proc ディレクトリから収集したシステム情報を表示するためのシンプルなコマンドラインユーティリティで、標準出力デバイスにきれいにフォーマットされたものを印刷します。この記事では、Linuxでの procinfo コマンドの例をいくつか説明します。

ほとんどのLinuxディストリビューションでは、 procinfo コマンドがプレインストールされています。インストールしていない場合は、次のコマンドを使用してインストールしてください。

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

最も簡単な例は、示されているように引数なしで procinfo を実行することです。

$ 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                                          

デフォルトのKバイト数ではなく、メモリ統計情報を人間が読める形式(KiB、MiB、GiB)で印刷するには、 -H フラグを使用します。

$ 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                                        

-d フラグを使用すると、合計値ではなく秒単位で統計情報を表示できます。

$ procinfo -d 

統計を合計として表示するには、次のように -D フラグを使用します。

$ procinfo -D

-n フラグを使用して qを押すと、画面上で継続的に更新を取得し、N秒(たとえば、このコマンドでは 5 秒)更新を一時停止できます。qこのモードで終了するには

$ procinfo -n5 -H

freeユーティリティで表示されるのと同様の「本当の」空きメモリを報告するには、 -r オプションを使用します。

$ procinfo -r 

I/O要求数ではなくバイト数を表示するには、 -b オプションを使います。

$ procinfo -b

Procinfo はフルスクリーンで実行したときにも対話的に機能します。その機能が上で説明した同じ名前のコマンドラインフラグに対応するstrong> b キー。

詳細については、 procinfo のmanページをご覧ください。

$ man procinfo 

この記事では、 procinfo コマンドの例をいくつか説明しました。質問がある場合は、下記のフィードバックフォームを使用してご連絡ください。