procfs
ナビゲーションに移動
検索に移動
proc ファイルシステム、または procfs は擬似ファイルシステムで、通常 /proc
にマウントされ、実行中のシステムに関する情報を含んでいます。
- プロセス、最も顕著な使用例。
- カーネル情報および パラメータ。
- システムメトリクス、たとえば CPU 使用率。
内容
カーネルおよびシステム情報
/proc
の下には、システムやカーネルに関する多くの情報を提供する多くのファイルがあります。ここで全部を網羅することはできませんが、それらの一部を以下に、それらが何かについての簡単な情報とともにリストしています。
/proc/cpuinfo
- CPUに関する情報/proc/meminfo
- 物理メモリに関する情報/proc/vmstats
- 仮想メモリに関する情報/proc/mounts
- mount に関する情報/proc/filesystems
- カーネルにコンパイルされ、現在のカーネルモジュールがロードされたファイルシステムに関する情報/proc/uptime
- 現在のシステム稼働時間/proc/cmdline
- カーネルコマンドライン
プロセス
/proc/pid
には、現在実行中のすべてのプロセスに関する情報が保存されています。
以下は、現在実行中のいくつかの PID を示した例です:
$ ls -l /proc
total 0 dr-xr-xr-x 9 root root 0 Sep 8 18:17 1 dr-xr-xr-x 9 root root 0 Sep 9 03:02 10 dr-xr-xr-x 9 daemonx daemonx 0 Sep 9 03:02 1057 dr-xr-xr-x 9 daemonx daemonx 0 Sep 8 18:18 1077 dr-xr-xr-x 9 daemonx daemonx 0 Sep 9 03:02 1087 dr-xr-xr-x 9 root root 0 Sep 9 03:02 11 dr-xr-xr-x 9 daemonx daemonx 0 Sep 9 03:02 1103 dr-xr-xr-x 9 daemonx daemonx 0 Sep 9 03:02 1107 dr-xr-xr-x 9 daemonx daemonx 0 Sep 9 03:02 1159 dr-xr-xr-x 9 root root 0 Sep 9 03:02 12 dr-xr-xr-x 9 root root 0 Sep 9 03:02 124 dr-xr-xr-x 9 root root 0 Sep 9 03:02 125 dr-xr-xr-x 9 root root 0 Sep 9 03:02 127 dr-xr-xr-x 9 root root 0 Sep 9 03:02 128 ...
例として pid 1057 の中身を見てみましょう。
$ ls -l /proc/1057
total 0 dr-xr-xr-x 2 daemonx daemonx 0 Sep 9 03:12 attr -rw-r--r-- 1 daemonx daemonx 0 Sep 9 03:12 autogroup -r-------- 1 daemonx daemonx 0 Sep 9 03:12 auxv -r--r--r-- 1 daemonx daemonx 0 Sep 9 03:12 cgroup --w------- 1 daemonx daemonx 0 Sep 9 03:12 clear_refs -r--r--r-- 1 daemonx daemonx 0 Sep 9 03:12 cmdline -rw-r--r-- 1 daemonx daemonx 0 Sep 9 03:12 comm -rw-r--r-- 1 daemonx daemonx 0 Sep 9 03:12 coredump_filter -r--r--r-- 1 daemonx daemonx 0 Sep 9 03:12 cpuset lrwxrwxrwx 1 daemonx daemonx 0 Sep 9 03:12 cwd -> /home/daemonx -r-------- 1 daemonx daemonx 0 Sep 9 03:12 environ lrwxrwxrwx 1 daemonx daemonx 0 Sep 9 03:12 exe -> /usr/lib/gvfsd-metadata dr-x------ 2 daemonx daemonx 0 Sep 9 03:12 fd dr-x------ 2 daemonx daemonx 0 Sep 9 03:12 fdinfo -rw-r--r-- 1 daemonx daemonx 0 Sep 9 03:12 gid_map -r-------- 1 daemonx daemonx 0 Sep 9 03:12 io -r--r--r-- 1 daemonx daemonx 0 Sep 9 03:12 latency -r--r--r-- 1 daemonx daemonx 0 Sep 9 03:12 limits -rw-r--r-- 1 daemonx daemonx 0 Sep 9 03:12 loginuid dr-x------ 2 daemonx daemonx 0 Sep 9 03:12 map_files -r--r--r-- 1 daemonx daemonx 0 Sep 9 03:12 maps -rw------- 1 daemonx daemonx 0 Sep 9 03:12 mem ...
いくつかのフィールド:
cmdline
- プログラムを開始するために使用された引数。cwd
- プロセスの現在の作業ディレクトリ。environ
- プロセス内の環境変数(ゼロ区切り)。fd/
- プロセスのオープンファイルディスクリプタを含むディレクトリ。exe
- プロセスの実行可能ファイルへのシンボリックリンク。maps
- プロセスのメモリマッピング。mem
- プロセスの仮想メモリ。
使用方法
/proc
の内容は通常のファイルと同様に操作できます。
ファイルから読み取るには:
$ cat /proc/cmdline
ファイルに書き込むには:
# echo 1 > /proc/sys/kernel/sysrq