linuxの/procについて
/proc配下のファイル群は、アプリケーションからのアクセスに応じて動的に内容が生成される仮想ファイル群である。
proc自体はファイルシステムで、システム起動時にマウントされる。(mountで確認できる)
このマウントに関しては、/etc/fstabに書かれているが、実際はカーネルにハードコーディングされているのでマウントする必要はない。(らしい)
配下のファイルの種類は大きくわけて2つ。
ディレクトリ名がプロセスIDになっているディレクトリの中身
名前 | 内容 |
---|---|
cmdline | プロセスを起動したコマンドライン(bash等) |
cwd | 現在の作業ディレクトリ(/home/user等) |
environ | プロセスの環境変数 |
exe | 実況中のプログラムファイル(/bin/bash等) |
fd/ | プロセスが開いているファイルのファイル記述子(ファイルディスクリプタ)。シンボリックリンクのリンク先が開いているファイルになっている。 |
maps | プロセスのアドレス空間におけるメモリマップ |
mem | プロセスのアドレス空間の内容 |
root | ルートディレクトリ(/root) |
status | プロセス状態(属性や稼働状況) |
ディレクトリ名が数値(プロセスID)でないファイル・ディレクトリの一覧
名前 | 内容 | |
---|---|---|
acpi/ | 電力制御に関する情報 | |
asound/ | サウンドに関する情報 | |
asound/cards | 認識しているサウンドカードが確認できる | |
buddyinfo | メモリの分散化問題を解析するために使用される…らしい | |
bus/ | インストールされている各バスの情報 | |
cgroups | 資源コントローラの情報? | |
cmdline | カーネル起動時のオプション | |
cpuinfo | CPUの識別情報 | |
crypto | インストール済の暗号方法一覧(md5とか) | |
devices | デバイスノードに関する情報 | |
diskstats | 各ディスクデバイスのディスク I/O 統計情報 | |
dma | 登録されているISA DMAチャンネルの一覧 | |
driver/ | デバイスドライバが提供する情報表すファイルが置かれる | |
execdomains | 実行ドメインと、パーソナリティ範囲の一覧 | |
fb | フレームバッファデバイス、その番号、それを制御するドライバなどの一覧 | |
filesystems | 組み込まれているファイルシステムに関する情報を表すファイルが置かれる | |
fs/ | nfsを利用している場合はここに情報が表示される? | |
ide/ | 各IDEチャネルとそれに取り付けられている各デバイスの情報 | |
interrupts | デバイスが使用しているIRQ(割り込み要求)の一覧 | |
iomem | デバイスが使用しているメモリの一覧 | |
ioports | デバイスが使用しているI/Oアドレスの一覧 | |
irq/ | 特定のIRQ(割り込み要求)を1つのCPUにのみ接続、またはCPUがどのIRQも処理しないように設定したりできる | |
kallsyms | カーネルの外部シンボル定義一覧 | |
kcore | カーネルのメモリ空間全体にアクセスできる | |
key-users | 認証データをLinuxカーネルにキャッシュすることかできる「鍵保存サービス」で使われる | |
keys | 認証データをLinuxカーネルにキャッシュすることかできる「鍵保存サービス」で使われる | |
kmsg | カーネルからのログメッセージ | |
kpagecount | 中を見ても意味不明。何かのカウント? | |
kpageflags | 中を見ても意味不明。何かのフラグ? | |
latency_stats | レイテンシ情報?「Latency Top version : v0.1」こんなのが返ってきた | |
loadavg | ロードアベレージ | |
locks | ファイルロックとリースの情報 | |
mdstat | RAID設定の情報 | |
meminfo | メモリ使用状況 | |
misc | その他のメジャーデバイス上に登録されている その他のドライバを一覧 | |
modules | カーネルに組み込まれているモジュールの一覧 | |
mounts | 全マウントの一覧 | |
mtrr | システムで使用中の MTRR (Memory Type Range Registers) | |
net/ | ネットワークデバイスやデバイスの通信に関する情報 | |
pagetypeinfo | 今のところ謎。そして調査予定なし… | |
partitions | パーティション情報 | |
reserve_info | 「1:0 "total reserve" 0K 0/0」とだけ書いていた。今のところ謎。 | |
sched_debug | 未 | |
schedstat | 未 | |
scsi/ | SCSI情報(USBハードディスクはSCSIデバイスとして認識) | |
self | 自プロセスに関する情報。自プロセスのproc仮想ファイルへのシンボリックリンク。 | |
slabinfo | カーネル設定オプションCONFIG_SLABが有効の場合にのみ存在する。カーネルキャッシュ使用率の情報。 | |
stat | システムのさまざまな統計情報。最後に再起動された時以降のものが保持されている。 | |
swaps | スワップ領域の一覧 | |
sys/ | カーネルの調整可能パラメータ(チューニングで利用) | |
sysrq-trigger | このファイルにecho等で書き込むとSysRqキーを使うことができる。(rootのみ) | |
sysvipc/ | 現在システム上に存在するIPCオブジェクトの一覧 | |
timer_list | システム上の設定されたクロックとタイマの情報?なんのこっちゃいな… | |
timer_stats | カーネルのタイマを要求されているルーチンについての情報? | |
tty/ | ttyドライバとライン設定のサブディレクトリがある | |
uptime | システムが起動してからの経過時間 | |
version | カーネルのバージョン | |
vmallocinfo | 動的メモリ空間の情報 | |
vmstat | 仮想メモリの使用状況 | |
zoneinfo | メモリのゾーン (memory zone) に関する情報。仮想メモリの振舞いを分析するのに役立つらしい。 |