「Procfs」の版間の差分
ナビゲーションに移動
検索に移動
Kusanaginoturugi (トーク | 投稿記録) (序文を翻訳) |
(他言語へのリンクを追加) |
||
(他の1人の利用者による、間の4版が非表示) | |||
1行目: | 1行目: | ||
{{Lowercase title}} |
{{Lowercase title}} |
||
[[Category:疑似ファイルシステム]] |
[[Category:疑似ファイルシステム]] |
||
+ | [[en:procfs]] |
||
{{Style|Use [[Template:ic]].}} |
{{Style|Use [[Template:ic]].}} |
||
9行目: | 10行目: | ||
* システムメトリクス、たとえば CPU 使用率。 |
* システムメトリクス、たとえば CPU 使用率。 |
||
− | == |
+ | == 内容 == |
+ | === カーネルおよびシステム情報 === |
||
− | === Kernel & system information === |
||
+ | {{ic|/proc}} の下には、システムやカーネルに関する多くの情報を提供する多くのファイルがあります。ここで全部を網羅することはできませんが、それらの一部を以下に、それらが何かについての簡単な情報とともにリストしています。 |
||
− | There are many files under {{ic|/proc}} which provide a lot of information about the system as well as the kernel. There are too many to cover them all here, but some of them are listed below with brief information about what they are. |
||
− | * {{ic|/proc/cpuinfo}} - |
+ | * {{ic|/proc/cpuinfo}} - CPUに関する情報 |
− | * {{ic|/proc/meminfo}} - |
+ | * {{ic|/proc/meminfo}} - 物理メモリに関する情報 |
− | * {{ic|/proc/vmstats}} - |
+ | * {{ic|/proc/vmstats}} - 仮想メモリに関する情報 |
− | * {{ic|/proc/mounts}} - |
+ | * {{ic|/proc/mounts}} - [[mount]] に関する情報 |
+ | * {{ic|/proc/filesystems}} - カーネルにコンパイルされ、現在のカーネルモジュールがロードされたファイルシステムに関する情報 |
||
− | * {{ic|/proc/filesystems}} - information about filesystems that have been compiled into the kernel and whose kernel modules are currently loaded |
||
− | * {{ic|/proc/uptime}} - |
+ | * {{ic|/proc/uptime}} - 現在のシステム稼働時間 |
− | * {{ic|/proc/cmdline}} - |
+ | * {{ic|/proc/cmdline}} - カーネルコマンドライン |
− | === |
+ | === プロセス === |
+ | {{ic|/proc/''pid''}} には、現在実行中のすべてのプロセスに関する情報が保存されています。 |
||
− | Inside {{ic|/proc/''pid''}} is stored information about every process currently running. |
||
+ | 以下は、現在実行中のいくつかの PID を示した例です: |
||
− | Below is an example showing some of the PIDs currently running: |
||
{{hc|$ ls -l /proc| |
{{hc|$ ls -l /proc| |
||
47行目: | 48行目: | ||
}} |
}} |
||
+ | 例として pid 1057 の中身を見てみましょう。 |
||
− | Lets take for example pid 1057 and see what is inside: |
||
{{hc|$ ls -l /proc/1057| |
{{hc|$ ls -l /proc/1057| |
||
76行目: | 77行目: | ||
}} |
}} |
||
+ | いくつかのフィールド: |
||
− | Some of the fields: |
||
− | * {{ic|cmdline}} - |
+ | * {{ic|cmdline}} - プログラムを開始するために使用された引数。 |
− | * {{ic|cwd}} - |
+ | * {{ic|cwd}} - プロセスの現在の作業ディレクトリ。 |
− | * {{ic|environ}} - |
+ | * {{ic|environ}} - プロセス内の環境変数(ゼロ区切り)。 |
+ | * {{ic|fd/}} - プロセスのオープンファイルディスクリプタを含むディレクトリ。 |
||
− | * {{ic|fd/}} - directory containing open file descriptors for the process. |
||
+ | * {{ic|exe}} - プロセスの実行可能ファイルへのシンボリックリンク。 |
||
− | * {{ic|exe}} - symbolic link to process executable. |
||
− | * {{ic|maps}} - |
+ | * {{ic|maps}} - プロセスのメモリマッピング。 |
− | * {{ic|mem}} - |
+ | * {{ic|mem}} - プロセスの仮想メモリ。 |
− | == |
+ | == 使用方法 == |
+ | {{ic|/proc}} の内容は通常のファイルと同様に操作できます。 |
||
− | You can interact with {{ic|/proc}} contents as with regular files. |
||
+ | ファイルから読み取るには: |
||
− | To read from a file: |
||
$ cat /proc/cmdline |
$ cat /proc/cmdline |
||
+ | ファイルに書き込むには: |
||
− | To write to a file: |
||
# echo 1 > /proc/sys/kernel/sysrq |
# echo 1 > /proc/sys/kernel/sysrq |
||
− | == |
+ | == 参照 == |
* {{man|5|proc}} |
* {{man|5|proc}} |
||
− | * [https://docs.kernel.org/filesystems/proc.html |
+ | * [https://docs.kernel.org/filesystems/proc.html procfsのカーネルドキュメント] |
* [[Wikipedia:Procfs]] |
* [[Wikipedia:Procfs]] |
2023年9月2日 (土) 16:20時点における最新版
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