Waiting in uninterruptible disk
sleep
ゾ ン ビ
(Zombie)
T
(シ
グ ナ ル で の ) 停
止 、 ま た は (Linux 2.6.33
よ り 前 で は ) ト
レ ー ス に よ る
停 止
ト レ ー
ス に よ る 停 止
(Tracing stop) (Linux 2.6.33 以 降 )
ペ ー ジ
ン グ 中 (Linux 2.6.0 よ り
前 の み )
X 死 亡 (Dead) (Linux 2.6.0 以 降 )
x 死 亡 (Dead) (Linux 2.6.33 か ら
3.13 ま で の み )
K
Wakekill (Linux
2.6.33 か ら 3.13 ま で の
み )
|
W |
|
Waking (Linux 2.6.33 か
ら 3.13 ま で の み ) |
|
P |
|
Parked (Linux 3.9 か ら 3.13 ま
で の み ) |
(4) ppid %d
こ の プ ロ セ ス
の 親 プ ロ セ ス
の PID。
(5) pgrp %d プ ロ セ ス
の プ ロ セ ス グ
ル ー プ ID。
(6) session %d プ ロ セ
ス の セ ッ シ ョ
ン ID。
(7) tty_nr %d プ ロ セ
ス の 制 御 端 末
(マ イ ナ ー デ バ
イ ス 番 号 は ビ
ッ ト 31〜 20 と 7〜 0
に ま た が っ て
格 納 さ れ 、 メ
ジ ャ ー デ バ イ
ス 番 号 は ビ ッ
ト 15〜 8 に 格 納 さ
れ る )。
(8) tpgid %d プ ロ セ
ス の 制 御 端 末
の フ ォ ア グ ラ
ン ド ・ プ ロ セ
ス グ ル ー プ の
ID。
(9) flags %u プ ロ セ
ス の カ ー ネ ル
フ ラ グ ワ ー ド
。 ビ ッ ト の 意
味 は 、 <linux/sched.h>
で 定 義 さ れ て
い る PF_* を 参 照 す
る こ と 。 詳 細
は カ ー ネ ル の
バ ー ジ ョ ン に
依 存 す る 。 こ
の フ ィ ー ル ド
の フ ォ ー マ ッ
ト は Linux 2.6 よ り 前
で は %lu で あ っ た
。
(10) minflt %lu プ ロ セ
ス が 引 き 起 こ
し た マ イ ナ ー
フ ォ ー ル ト (minor
fault、 デ ィ ス ク か
ら メ モ リ ー ペ
ー ジ へ の ロ ー
ド を 必 要 と し
な い フ ォ ー ル
ト ) の 回 数 。
(11) cminflt %lu
(そ の プ
ロ セ ス が 終 了
を 待 っ て い る )
子 プ ロ セ ス が
引 き 起 こ し た
マ イ ナ ー フ ォ
ー ル ト の 回 数
。
(12) majflt %lu
プ ロ セ ス が 引
き 起 こ し た メ
ジ ャ ー フ ォ ー
ル ト (major fault、 デ ィ
ス ク か ら メ モ
リ ー ペ ー ジ へ
の ロ ー ド を 必
要 と す る フ ォ
ー ル ト ) の 回 数
。
(13) cmajflt %lu
(そ の プ
ロ セ ス が 終 了
を 待 っ て い る )
子 プ ロ セ ス が
引 き 起 こ し た
メ ジ ャ ー フ ォ
ー ル ト の 回 数
。
(14) utime %lu
こ の プ ロ セ ス
が ユ ー ザ ー モ
ー ド で ス ケ ジ
ュ ー リ ン グ さ
れ た 時 間 の 合
計 。 clock tick 単 位 で
計 測 さ れ る
(sysconf(_SC_CLK_TCK) で 割 っ
た 値 が 表 示 さ
れ る )。 こ の 値
に は ゲ ス ト 時
間 guest_time (仮 想 CPU の
実 行 に 消 費 さ
れ た 時 間 ) も 含
ま れ る 。 こ れ
は 、 ゲ ス ト 時
間 の フ ィ ー ル
ド を 認 識 し な
い ア プ リ ケ ー
シ ョ ン に お い
て 、 ゲ ス ト 時
間 分 を 計 算 に
入 れ 損 ね な い
よ う に す る た
め で あ る 。
(15) stime %lu プ ロ セ
ス の カ ー ネ ル
モ ー ド で の 実
行 時 間 (単 位
jiffies)。 こ の プ ロ
セ ス が カ ー ネ
ル モ ー ド で ス
ケ ジ ュ ー リ ン
グ さ れ た 時 間
の 合 計 。 clock tick 単
位 で 計 測 さ れ
る (sysconf(_SC_CLK_TCK) で 割
っ た 値 が 表 示
さ れ る )。
(16) cutime %ld こ の プ
ロ セ ス の 子 プ
ロ セ ス で 、 終
了 待 ち (waited−for) の
プ ロ セ ス が 、
ユ ー ザ ー モ ー
ド で ス ケ ジ ュ
ー リ ン グ さ れ
た 時 間 の 合 計
。 clock tick 単 位 で 計
測 さ れ る
(sysconf(_SC_CLK_TCK) で 割 っ
た 値 が 表 示 さ
れ る )。 (times(2) も
参 照 す る こ と
。 ) こ の 値 に は
ゲ ス ト 時 間
cguest_time (仮 想 CPU を 実
行 す る の に 消
費 し た 時 間 、
下 記 参 照 ) も 含
ま れ る 。
(17) cstime %ld こ の プ
ロ セ ス の 子 プ
ロ セ ス で 、 終
了 待 ち (waited−for) の
プ ロ セ ス が 、
カ ー ネ ル モ ー
ド で ス ケ ジ ュ
ー リ ン グ さ れ
た 時 間 の 合 計
。 clock tick 単 位 で 計
測 さ れ る
(sysconf(_SC_CLK_TCK) で 割 っ
た 値 が 表 示 さ
れ る )。
(18) priority %ld
(Linux 2.6 の 場
合 の 説 明 ) リ ア
ル タ イ ム ス ケ
ジ ュ ー リ ン グ
ポ リ シ ー (下 記
の policy ; sched_setscheduler(2)
参 照 ) で 動 作 し
て い る プ ロ セ
ス で は 、 こ の
値 は ス ケ ジ ュ
ー リ ン グ 優 先
度 を 反 転 し た
値 (ス ケ ジ ュ ー
リ ン グ 優 先 度
を マ イ ナ ス に
し た 値 ) と な る
。 値 は −2 か ら
−100 ま で の 範 囲
の 数 値 で 、 そ
れ ぞ れ リ ア ル
タ イ ム 優 先 度
の 1 か ら 99 に 対 応
す る 。 リ ア ル
タ イ ム 以 外 の
ス ケ ジ ュ ー リ
ン グ ポ リ シ ー
で 動 作 し て い
る プ ロ セ ス で
は 、 こ の 値 は
カ ー ネ ル 内 で
管 理 さ れ て い
る nice 値 そ の も の
(setpriority(2)) と な る 。
カ ー ネ ル は nice 値
を 0 (高 ) か ら 39 (低 )
の 範 囲 の 値 と
し て 保 持 し て
お り 、 そ れ ぞ
れ ユ ー ザ ー に
見 え る nice 値 の −20
か ら 19 に 対 応 す
る 。
Linux 2.6
よ り 前 で は 、
こ の プ ロ セ ス
に 割 り 当 て ら
れ た ス ケ ジ ュ
ー リ ン グ 重 み
を 変 換 し た 値
が 表 示 さ れ て
い た 。
(19) nice %ld
nice 値
(setpriority(2) 参 照 )。 19
(最 低 優 先 ) か ら
−20 (最 高 優 先 ) の
範 囲 の 値 で あ
る 。
(20) num_threads
%ld こ の プ ロ セ
ス の ス レ ッ ド
数 (Linux 2.6 以 降 )。 カ
ー ネ ル 2.6 よ り 前
で は 、 こ の フ
ィ ー ル ド は 削
除 さ れ た フ ィ
ー ル ド の 場 所
埋 め と し て 0 に
ハ ー ド コ ー ド
さ れ て い た 。
(21) itrealvalue %ld イ ン タ
ー バ ル タ イ マ
ー に よ っ て 、
次 に SIGALRM が プ ロ
セ ス へ 送 ら れ
る ま で の 時 間
(単 位 jiffies)。 カ ー
ネ ル 2.6.17 以 降 で は
、 こ の フ ィ ー
ル ド は メ ン テ
ナ ン ス さ れ な
く な り 、 0 に ハ
ー ド コ ー ド さ
れ て い る 。
(22) starttime %llu プ ロ セ
ス の 起 動 時 刻
。 シ ス テ ム が
起 動 し た 時 刻
が 起 点 で あ る
。 Linux 2.6 よ り 前 の
カ ー ネ ル で は
、 こ の 値 の 単
位 は jiffies で あ っ
た 。 Linux 2.6 以 降 で
は 、 値 の 単 位
は ク ロ ッ ク tick で
あ る (sysconf(_SC_CLK_TCK) で
割 っ た 値 と な
る )。 こ の フ ィ
ー ル ド の フ ォ
ー マ ッ ト は Linux 2.6
よ り 前 で は %lu で
あ っ た 。
(23) vsize %lu 仮 想 メ
モ リ ー の サ イ
ズ 。 単 位 は バ
イ ト 。
(24) rss %ld
Resident Set Size。
プ ロ セ ス が 持
っ て い る 実 メ
モ リ ー 上 の ペ
ー ジ 数 。 こ れ
は ち ょ う ど テ
キ ス ト 、 デ ー
タ 、 ス タ ッ ク
空 間 に 使 わ れ
て い る ペ ー ジ
数 で あ る 。 デ
マ ン ド ロ ー ド
さ れ て い な い
ペ ー ジ や ス ワ
ッ プ ア ウ ト さ
れ た ペ ー ジ の
数 は 含 ん で い
な い 。
(25) rsslim %lu
こ の プ ロ セ ス
の rss の 現 在 の ソ
フ ト リ ミ ッ ト
(バ イ ト 単 位 )。
getrlimit(2) の RLIMIT_RSS の
説 明 を 参 照 。
(26) startcode %lu プ ロ グ
ラ ム テ キ ス ト
が 実 行 可 能 で
あ る よ う な 領
域 の 先 頭 ア ド
レ ス 。
(27) endcode %lu プ ロ グ
ラ ム テ キ ス ト
が 実 行 可 能 で
あ る よ う な 領
域 の 末 尾 ア ド
レ ス 。
(28) startstack %lu ス タ ッ
ク の 開 始 ア ド
レ ス (す な わ ち
、 ス タ ッ ク の
底 )。
(29) kstkesp %lu 現 在 の ESP
(ス タ ッ ク ポ イ
ン タ ー ) の 値 。
プ ロ セ ス の カ
ー ネ ル ス タ ッ
ク ペ ー ジ に あ
る 。
(30) kstkeip %lu 現 在 の EIP
(イ ン ス ト ラ ク
シ ョ ン ポ イ ン
タ ー ) の 値 。
(31) signal %lu 処 理 待
ち の シ グ ナ ル
の ビ ッ ト マ ッ
プ 。 10 進 数 で 表
示 さ れ る 。 こ
の フ ィ ー ル ド
は 廃 止 予 定 で
あ る 。 リ ア ル
タ イ ム シ グ ナ
ル に 関 す る 情
報 は 表 示 さ れ
な い か ら で あ
る 。 代 わ り に
/proc/[pid]/status を 使 う
こ と 。
(32) blocked %lu ブ ロ ッ
ク さ れ た (blocked) シ
グ ナ ル の ビ ッ
ト マ ッ プ 。 10 進
数 で 表 示 さ れ
る 。 こ の フ ィ
ー ル ド は 廃 止
予 定 で あ る 。
リ ア ル タ イ ム
シ グ ナ ル に 関
す る 情 報 は 表
示 さ れ な い か
ら で あ る 。 代
わ り に /proc/[pid]/status
を 使 う こ と 。
(33) sigignore %lu 無 視 さ
れ た (ignored) シ グ ナ
ル の ビ ッ ト マ
ッ プ 。 10 進 数 で
表 示 さ れ る 。
こ の フ ィ ー ル
ド は 廃 止 予 定
で あ る 。 リ ア
ル タ イ ム シ グ
ナ ル に 関 す る
情 報 は 表 示 さ
れ な い か ら で
あ る 。 代 わ り
に /proc/[pid]/status を 使
う こ と 。
(34) sigcatch %lu 捕 捉 さ
れ た (caught) シ グ ナ
ル の ビ ッ ト マ
ッ プ 。 10 進 数 で
表 示 さ れ る 。
こ の フ ィ ー ル
ド は 廃 止 予 定
で あ る 。 リ ア
ル タ イ ム シ グ
ナ ル に 関 す る
情 報 は 表 示 さ
れ な い か ら で
あ る 。 代 わ り
に /proc/[pid]/status を 使
う こ と 。
(35) wchan %lu
This is the "channel"
in which the process is waiting. It is the address of a
location in the kernel where the process is sleeping. The
corresponding symbolic name can be found in
/proc/[pid]/wchan.
(36) nswap %lu
ス ワ ッ プ さ れ
た ペ ー ジ 数 (メ
ン テ ナ ン ス さ
れ て い な い )。
(37) cnswap %lu 子 プ ロ
セ ス の nswap の 累
計 (メ ン テ ナ ン
ス さ れ て い な
い )。
(38) exit_signal %d (Linux 2.1.22
以 降 ) プ ロ セ ス
が 死 ん だ と き
に 親 プ ロ セ ス
に 送 ら れ る シ
グ ナ ル 。
(39) processor %d (Linux 2.2.8 以
降 ) こ の プ ロ セ
ス を 最 後 に 実
行 し た CPU の 番 号
。
(40) rt_priority %u (Linux 2.5.19
以 降 ) リ ア ル タ
イ ム ス ケ ジ ュ
ー リ ン グ の 優
先 度 。 リ ア ル
タ イ ム ポ リ シ
ー の 元 で ス ケ
ジ ュ ー リ ン グ
さ れ る プ ロ セ
ス で は 1 か ら 99 の
範 囲 の 値 と な
り 、 リ ア ル タ
イ ム 以 外 の ス
ケ ジ ュ ー リ ン
グ ポ リ シ ー の
プ ロ セ ス で は 0
と な る (sched_setscheduler(2)
参 照 )。
(41) policy %u (Linux 2.5.19 以
降 ) ス ケ ジ ュ ー
リ ン グ ポ リ シ
ー (sched_setscheduler(2) 参 照
)。 値 は 、 linux/sched.h
の SCHED_* 定 数 を 使
っ て デ コ ー ド
す れ ば よ い 。
こ の フ ィ ー ル
ド の フ ォ ー マ
ッ ト は Linux 2.6.22 よ り
前 は %lu で あ っ た
。
(42) delayacct_blkio_ticks %llu (Linux
2.6.18 以 降 )
(clock tick (100分
の 1秒 ) 単 位 で の )
ブ ロ ッ ク I/O の 総
遅 延 量 。
(43) guest_time
%lu (Linux 2.6.24 以 降 )
プ ロ セ ス の ゲ
ス ト 時 間 (ゲ ス
ト OS の 仮 想 CPU を 実
行 す る の に 消
費 さ れ た 時 間
)。 clock tick 単 位 で 計
測 さ れ る
(sysconf(_SC_CLK_TCK) で 割 っ
た 値 が 表 示 さ
れ る )。
(44) cguest_time %ld (Linux 2.6.24
以 降 ) プ ロ セ ス
の 子 プ ロ セ ス
の ゲ ス ト 時 間
。 clock tick 単 位 で 計
測 さ れ る
(sysconf(_SC_CLK_TCK) で 割 っ
た 値 が 表 示 さ
れ る )。
(45) start_data %lu (Linux 3.3 以
降 )
Address above which program
initialized and uninitialized (BSS) data are placed.
(46) end_data %lu
(Linux 3.3 以 降 )
Address below which program
initialized and uninitialized (BSS) data are placed.
(47) start_brk %lu
(Linux 3.3 以 降 )
Address above which program
heap can be expanded with brk(2).
(48) arg_start %lu
(Linux 3.5 以 降 ) プ ロ
グ ラ ム の コ マ
ン ド ラ イ ン 引
き 数 (argv) が 置 か
れ る 開 始 ア ド
レ ス 。
(49) arg_end %lu (Linux 3.5 以
降 ) プ ロ グ ラ ム
の コ マ ン ド ラ
イ ン 引 き 数 (argv)
が 置 か れ る 終
了 ア ド レ ス 。
(50) env_start %lu (Linux 3.5 以
降 ) プ ロ グ ラ ム
の 環 境 (environment) が 置
か れ る 開 始 ア
ド レ ス 。
(51) env_end %lu (Linux 3.5 以
降 ) プ ロ グ ラ ム
の 環 境 (environment) が 置
か れ る 終 了 ア
ド レ ス 。
(52) exit_code %d (Linux 3.5 以
降 )
waitpid(2) が
報 告 す る 形 式
の ス レ ッ ド の
終 了 ス テ ー タ
ス 。
/proc/[pid]/statm
(ペ ー ジ
単 位 で 計 測 し
た ) メ モ リ ー 使
用 量 に つ い て
の 情 報 を 提 供
す る 。 各 列 は
以 下 の 通 り で
あ る 。
size プ
ロ グ ラ ム サ イ
ズ の 総 計
(/proc/[pid]/status の VmSize と 同
じ )
resident 実 メ モ リ ー
上 に 存 在 す る
ペ ー ジ
(/proc/[pid]/status の VmRSS と 同
じ )
share 共 有 ペ ー ジ (フ
ァ イ ル と 関 連
付 け ら れ て い
る ペ ー ジ )
text テ キ ス ト (コ ー
ド )
lib ラ イ ブ ラ リ (Linux 2.6
で は 未 使 用 )
data デ ー タ + ス タ ッ
ク
dt ダ ー テ ィ ペ ー
ジ (Linux 2.6 で は 未 使
用 )
/proc/[pid]/status
/proc/[pid]/stat
と /proc/[pid]/statm に あ る
多 く の 情 報 を
、 人 間 が 解 析
し や す い 形 式
で 提 供 す る 。
以 下 に 例 を 示
す 。
$ cat
/proc/$$/status
Name: bash
State: S (sleeping)
Tgid: 3515
Pid: 3515
PPid: 3452
TracerPid: 0
Uid: 1000 1000 1000 1000
Gid: 100 100 100 100
FDSize: 256
Groups: 16 33 100
VmPeak: 9136 kB
VmSize: 7896 kB
VmLck: 0 kB
VmHWM: 7572 kB
VmRSS: 6316 kB
VmData: 5224 kB
VmStk: 88 kB
VmExe: 572 kB
VmLib: 1708 kB
VmPTE: 20 kB
VmSwap: 0 kB
Threads: 1
SigQ: 0/3067
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000010000
SigIgn: 0000000000384004
SigCgt: 000000004b813efb
CapInh: 0000000000000000
CapPrm: 0000000000000000
CapEff: 0000000000000000
CapBnd: ffffffffffffffff
Seccomp: 0
Cpus_allowed: 00000001
Cpus_allowed_list: 0
Mems_allowed: 1
Mems_allowed_list: 0
voluntary_ctxt_switches: 150
nonvoluntary_ctxt_switches: 545 フ ィ ー
ル ド の 詳 細 は
以 下 の 通 り で
あ る 。
|
* |
|
Name: こ の プ ロ
セ ス に よ り 実
行 さ れ た コ マ
ン ド 。 |
|
* |
|
State: プ ロ セ ス
の 現 在 の 状 態
。 "R (running; 実 行 中
)", "S (sleeping; 休 眠 状
態 )", "D (disk sleep; デ ィ
ス ク 待 ち の 休
眠 状 態 )", "T (stopped;
停 止 状 態 )", "T
(tracing stop; ト レ ー ス に
よ る 停 止 )", "Z
(zombie; ゾ ン ビ 状 態
)", "X (dead; 死 亡 )" の
い ず れ か で あ
る 。 |
|
* |
|
Tgid: ス レ ッ ド
グ ル ー プ ID (す な
わ ち 、 プ ロ セ
ス ID)。 |
|
* |
|
Pid: ス レ ッ ド ID
(gettid(2) 参 照 )。 |
|
* |
|
PPid: 親 プ ロ セ
ス の PID。 |
|
* |
|
TracerPid: こ の プ ロ
セ ス を ト レ ー
ス し て い る プ
ロ セ ス の PID (ト レ
ー ス さ れ て い
な い 場 合 は 0)。 |
|
* |
|
Uid, Gid: 実 UID/GID、
実 効 UID/GID、 保 存
set−UID/GID、 フ ァ イ
ル シ ス テ ム
UID/GID。 |
|
* |
|
FDSize: 現 在 割 り
当 て ら れ て い
る フ ァ イ ル デ
ィ ス ク リ プ タ
ー の ス ロ ッ ト
数 。 |
|
* |
|
Groups: 補 助 グ ル
ー プ の リ ス ト
。 |
|
* |
|
VmPeak: 仮 想 メ モ
リ ー サ イ ズ の
ピ ー ク 値 。 |
|
* |
|
VmSize: 仮 想 メ モ
リ ー サ イ ズ 。 |
|
* |
|
VmLck: ロ ッ ク さ
れ て い る メ モ
リ ー サ イ ズ
(mlock(3) 参 照 )。 |
|
* |
|
VmHWM: 実 メ モ リ
ー 上 に 存 在 す
る ペ ー ジ サ イ
ズ (resident set size) の ピ ー
ク 値 ("high water mark")。 |
|
* |
|
VmRSS: 実 メ モ リ
ー 上 に 存 在 す
る ペ ー ジ サ イ
ズ 。 |
|
* |
|
VmData, VmStk, VmExe: デ
ー タ 、 ス タ ッ
ク 、 テ キ ス ト
セ グ メ ン ト の
サ イ ズ 。 |
|
* |
|
VmLib: 共 有 ラ イ
ブ ラ リ コ ー ド
の サ イ ズ 。 |
|
* |
|
VmPTE: ペ ー ジ テ
ー ブ ル エ ン ト
リ ー の サ イ ズ (Linux
2.6.10 以 降 )。 |
|
* |
|
VmSwap: ス ワ ッ プ
ア ウ ト さ れ た
仮 想 メ モ リ ー
サ イ ズ (Linux 2.6.34 以 降
). |
|
* |
|
Threads: こ の ス レ
ッ ド が 属 す る
プ ロ セ ス の ス
レ ッ ド 数 。 |
|
* |
|
SigQ: こ の フ ィ
ー ル ド に は ス
ラ ッ シ ュ で 区
切 ら れ た 2 つ の
数 字 が 入 っ て
い る 。 こ の 数
字 は こ の プ ロ
セ ス の 実 ユ ー
ザ ー ID 宛 に キ ュ
ー イ ン グ さ れ
た シ グ ナ ル に
関 す る も の で
あ る 。 一 つ 目
の 数 字 は 、 こ
の 実 ユ ー ザ ー ID
宛 に 現 在 キ ュ
ー イ ン グ さ れ
て い る シ グ ナ
ル 数 で あ る 。
二 つ 目 の 数 字
は 、 こ の プ ロ
セ ス 宛 に キ ュ
ー イ ン グ さ れ
た シ グ ナ ル 数
に 関 す る リ ソ
ー ス 上 限 値 で
あ る (getrlimit(2) の
RLIMIT_SIGPENDING の 説 明 を
参 照 )。 |
|
* |
|
SigPnd, ShdPnd: ス レ ッ
ド 宛 お よ び プ
ロ セ ス 全 体 宛
の 処 理 待 ち シ
グ ナ ル の 数
(pthreads(7), signal(7) 参 照
)。 |
|
* |
|
SigBlk, SigIgn, SigCgt: ブ
ロ ッ ク さ れ る
シ グ ナ ル 、 無
視 さ れ る シ グ
ナ ル 、 捕 捉 待
ち の シ グ ナ ル
を 示 す マ ス ク
値 (signal(7))。 |
|
* |
|
CapInh, CapPrm, CapEff: 継
承 可 能 (inheritable)、 許
可 (permitted)、 実 効 (effective)
の 各 ケ ー パ ビ
リ テ ィ セ ッ ト
で 有 効 に な っ
て い る ケ ー パ
ビ リ テ ィ の マ
ス ク 値 (capabilities(7) 参
照 )。 |
|
* |
|
CapBnd: ケ ー パ ビ
リ テ ィ バ ウ ン
デ ィ ン グ セ ッ
ト (Linux 2.6.26 以 降 、
capabilities(7) 参 照 )。 |
|
* |
|
Seccomp: Seccomp mode of the process (since Linux
3.8, see seccomp(2)). 0 means
SECCOMP_MODE_DISABLED; 1 means
SECCOMP_MODE_STRICT; 2 means
SECCOMP_MODE_FILTER. This field is provided only if
the kernel was built with the CONFIG_SECCOMP kernel
configuration option enabled. |
|
* |
|
Cpus_allowed: こ の プ ロ
セ ス が 実 行 を
許 可 さ れ て い
る CPU の マ ス ク 値
(Linux 2.6.24 以 降 、 cpuset(7)
参 照 )。 |
|
* |
|
Cpus_allowed_list: 前 項 と
同 じ だ が 、 「
リ ス ト 形 式 」
で の 表 示 (Linux 2.6.26 以
降 、 cpuset(7) 参 照
)。 |
|
* |
|
Mems_allowed: こ の プ ロ
セ ス が 使 用 で
き る メ モ リ ー
ノ ー ド の マ ス
ク 値 (Linux 2.6.24 以 降 、
cpuset(7) 参 照 )。 |
|
* |
|
Mems_allowed_list: 前 項 と
同 じ だ が 、 「
リ ス ト 形 式 」
で の 表 示 (Linux 2.6.26 以
降 、 cpuset(7) 参 照
)。 |
|
* |
|
voluntary_ctxt_switches,
nonvoluntary_ctxt_switches: 自 発
的 /非 自 発 的 な
コ ン テ キ ス ト
ス イ ッ チ の 回
数 (Linux 2.6.23 以 降 )。 |
/proc/[pid]/syscall
(Linux 2.6.27 以 降 )
This file exposes the system
call number and argument registers for the system call
currently being executed by the process, followed by the
values of the stack pointer and program counter registers.
The values of all six argument registers are exposed,
although most system calls use fewer registers.
If the process
is blocked, but not in a system call, then the file displays
−1 in place of the system call number, followed by
just the values of the stack pointer and program counter. If
process is not blocked, then file contains just the string
"running". カ ー ネ ル
の 設 定 で
CONFIG_HAVE_ARCH_TRACEHOOK が 有 効
に な っ て い る
場 合 に の み 、
こ の フ ァ イ ル
は 存 在 す る 。
/proc/[pid]/task (Linux
2.6.0−test6 以 降 ) こ の
デ ィ レ ク ト リ
に は 、 そ の プ
ロ セ ス の ス レ
ッ ド 情 報 を 含
む サ ブ デ ィ レ
ク ト リ が 1 ス レ
ッ ド に つ き 1 つ
置 か れ る 。 各
サ ブ デ ィ レ ク
ト リ の 名 前 は
ス レ ッ ド の ス
レ ッ ド ID ([tid]) を
示 す 数 字 で あ
る (gettid(2) を 参 照
)。 こ れ ら の 各
サ ブ デ ィ レ ク
ト リ に は 、
/proc/[pid] デ ィ レ ク
ト リ 以 下 と 同
じ 名 前 と 内 容
の フ ァ イ ル 群
が あ る 。 す べ
て の ス レ ッ ド
で 共 有 さ れ る
属 性 の 場 合 、
task/[tid] サ ブ デ ィ
レ ク ト リ 以 下
の 各 フ ァ イ ル
の 内 容 は 親 デ
ィ レ ク ト リ
/proc/[pid] の 対 応 す
る フ ァ イ ル と
同 じ に な る こ
と だ ろ う (例 え
ば 、 マ ル チ ス
レ ッ ド プ ロ セ
ス で は フ ァ イ
ル task/[tid]/cwd は い ず
れ も 親 デ ィ レ
ク ト リ 内 の
/proc/[pid]/cwd と 同 じ 値
を 持 つ こ と に
な る 。 な ぜ な
ら 、 一 つ の プ
ロ セ ス に 属 す
す べ て の ス レ
ッ ド は 作 業 デ
ィ レ ク ト リ を
共 有 す る か ら
で あ る )。 ス レ
ッ ド 毎 に 独 立
な 属 性 の 場 合
、 task/[tid] サ ブ デ
ィ レ ク ト リ 以
下 の 各 フ ァ イ
ル は 異 な る 値
を 持 つ こ と が
あ る (例 え ば 、
フ ァ イ ル task/[tid]/status
は ス レ ッ ド 毎
に 異 な る 値 を
持 つ 可 能 性 が
あ る )。 マ ル チ
ス レ ッ ド プ ロ
セ ス で は 、 メ
イ ン ス レ ッ ド
が す で に 終 了
し て い る 場 合
、 /proc/[pid]/task デ ィ レ
ク ト リ の 内 容
は 参 照 で き な
い (ス レ ッ ド の
終 了 は 通 常
pthread_exit(3) を 呼 び 出
し に よ り 行 わ
れ る )。
/proc/[pid]/uid_map, /proc/[pid]/gid_map (Linux
3.5 以 降 )
These files expose the mappings
for user and group IDs inside the user namespace for the
process pid. The description here explains the
details for uid_map; gid_map is exactly the
same, but each instance of "user ID" is replaced
by "group ID".
The
uid_map file exposes the mapping of user IDs from the
user namespace of the process pid to the user
namespace of the process that opened uid_map (but see
a qualification to this point below). In other words,
processes that are in different user namespaces will
potentially see different values when reading from a
particular uid_map file, depending on the user ID
mappings for the user namespaces of the reading
processes.
Each line in
the file specifies a 1−to−1 mapping of a range
of contiguous between two user namespaces. The specification
in each line takes the form of three numbers delimited by
white space. The first two numbers specify the starting user
ID in each user namespace. The third number specifies the
length of the mapped range. In detail, the fields are
interpreted as follows:
|
(1) |
|
The start of the range of user IDs in the user namespace
of the process pid. |
|
(2) |
|
The start of the range of user IDs to which the user IDs
specified by field one map. How field two is interpreted
depends on whether the process that opened uid_map
and the process pid are in the same user namespace,
as follows: |
a)
|
|
|
If the two processes are in
different user namespaces: field two is the start of a range
of user IDs in the user namespace of the process that opened
uid_map. |
|
b) |
|
If the two processes are in the same user namespace:
field two is the start of the range of user IDs in the
parent user namespace of the process pid. (The
"parent user namespace" is the user namespace of
the process that created a user namespace via a call to
unshare(2) or clone(2) with the
CLONE_NEWUSER flag.) This case enables the opener of
uid_map (the common case here is opening
/proc/self/uid_map) to see the mapping of user IDs
into the user namespace of the process that created this
user namespace. |
|
(3) |
|
|
The length of
the range of user IDs that is mapped between the two user
namespaces.
After the
creation of a new user namespace, the uid_map file
may be written to exactly once to specify the mapping of
user IDs in the new user namespace. (An attempt to write
more than once to the file fails with the error
EPERM.)
The lines
written to uid_map must conform to the following
rules:
|
* |
|
The three fields must be valid
numbers, and the last field must be greater than 0. |
|
* |
|
Lines are terminated by newline characters. |
|
* |
|
There is an (arbitrary) limit on the number of lines in
the file. As at Linux 3.8, the limit is five lines. |
|
* |
|
The range of user IDs specified in each line cannot
overlap with the ranges in any other lines. In the current
implementation (Linux 3.8), this requirement is satisfied by
a simplistic implementation that imposes the further
requirement that the values in both field 1 and field 2 of
successive lines must be in ascending numerical order. |
Writes that
violate the above rules fail with the error
EINVAL.
In order for a
process to write to the /proc/[pid]/uid_map
(/proc/[pid]/gid_map) file, the following
requirements must be met:
|
* |
|
The process must have the
CAP_SETUID (CAP_SETGID) capability in the user
namespace of the process pid. |
|
* |
|
The process must have the CAP_SETUID
(CAP_SETGID) capability in the parent user
namespace. |
|
* |
|
The process must be in either the user namespace of the
process pid or inside the parent user namespace of
the process pid. |
For further details, see
namespaces(7).
/proc/[pid]/wchan (Linux 2.6.0 以 降 )
The symbolic name corresponding
to the location in the kernel where the process is
sleeping.
/proc/apm
Advanced Power Management
の バ ー ジ ョ ン
と バ ッ テ リ 情
報 。 カ ー ネ ル
の コ ン パ イ ル
時 に CONFIG_APM を 定
義 し た と き に
存 在 す る 。
/proc/buddyinfo
This file contains information
which is used for diagnosing memory fragmentation issues.
Each line starts with the identification of the node and the
name of the zone which together identify a memory region
This is then followed by the count of available chunks of a
certain order in which these zones are split. The size in
bytes of a certain order is given by the formual:
(2^order) * PAGE_SIZE
The binary
buddy allocator algorithm inside the kernel will split one
chunk into two chunks of a smaller order (thus with half the
size) or combine two contiguous chunks into one larger chunk
of a higher order (thus with double the size) to satisfy
allocation requests and to counter memory fragmentation. The
order matches the column number, when starting to count at
zero.
For example on
a x86_64 system:
Node 0, zone DMA
1 1 1 0 2 1 1 0 1 1 3
Node 0, zone DMA32 65 47 4 81 52 28 13 10 5 1 404
Node 0, zone Normal 216 55 189 101 84 38 37 27 5 3 587
In this
example, there is one node containing three zones and there
are 11 different chunk sizes. If the page size is 4
kilobytes, then the first zone called DMA (on x86 the
first 16 megabyte of memory) has 1 chunk of 4 kilobytes
(order 0) available and has 3 chunks of 4 megabytes (order
10) available.
If the memory
is heavily fragmented, the counters for higher order chunks
will be zero and allocation of large contiguous areas will
fail.
Further
information about the zones can be found in
/proc/zoneinfo.
/proc/bus イ
ン ス ト ー ル さ
れ て い る 各 バ
ス 用 に サ ブ デ
ィ レ ク ト リ が
あ る 。
/proc/bus/pccard
PCMCIA デ バ
イ ス の 情 報 が
書 か れ る サ ブ
デ ィ レ ク ト リ
。 カ ー ネ ル の
コ ン パ イ ル 時
に CONFIG_PCMCIA を 定 義
し た と き に 存
在 す る 。
/proc/[pid]/timers
(Linux 3.10 以 降 ) こ の プ
ロ セ ス の POSIX タ イ
マ ー の リ ス ト
。 各 タ イ マ ー
は 文 字 列 "ID:" で
始 ま る 行 に 表
示 さ れ る 。 例 :
ID: 1
signal: 60/00007fff86e452a8
notify: signal/pid.2634
ClockID: 0
ID: 0
signal: 60/00007fff86e452a8
notify: signal/pid.2634
ClockID: 1 各 タ イ マ ー
に 表 示 さ れ る
行 の 意 味 は 次
の 通 り で あ る
。
マ ー ID と
同 じ で は な い
。 siginfo_t 構 造 化
の si_timerid フ ィ ー
ル ド で 参 照 で
き る カ ー ネ ル
内 部 で の ID と 同
じ で あ る (sigaction(2)
参 照 )。
|
signal こ の
タ イ マ ー が 通
知 の 配 送 に 使
用 す る シ グ ナ
ル 番 号 で あ る
。 ス ラ ッ シ ュ
の 後 ろ は 、 シ
グ ナ ル ハ ン ド
ラ ー に 渡 さ れ
る |
sigev_value.sival_ptr
値 で あ る 。 シ
グ ナ ル で 通 知
さ れ る タ イ マ
ー で の み 有 効
で あ る 。
|
notify ス ラ
ッ シ ュ の 前 の
部 分 は 、 こ の
タ イ マ ー が 使
用 す る 通 知 の
配 送 方 法 で あ
り 、 「 ス レ ッ
ド 」 「 シ グ ナ
ル 」 「 な し 」
の い ず れ か で
あ る 。 ス ラ ッ
シ ュ の す ぐ 後
に は 、 |
SIGEV_THREAD_ID 通
知 を 行 う タ イ
マ ー で は 文 字
列 の "tid" が 、 も
し く は 他 の 方
法 で 通 知 す る
タ イ マ ー で は
"pid" が 表 示 さ れ
る 。 "." の 後 ろ
は 、 そ の タ イ
マ ー が シ ン グ
ル で 通 知 を 配
送 す る 場 合 に
は シ グ ナ ル の
配 送 対 象 と な
る プ ロ セ ス の PID
で あ る 。
ClockID こ の フ ィ ー
ル ド は タ イ マ
ー が 時 間 を 計
測 す る の に 使
用 す る ク ロ ッ
ク を 示 す 。 ほ
と ん ど の ク ロ
ッ ク で は 、 こ
の フ ィ ー ル ド
は <time.h> で 公 開
さ れ る ユ ー ザ
ー 空 間 の CLOCK_* 定
数 の い ず れ か
の 数 字 で あ る
。 CLOCK_PROCESS_CPUTIME_ID タ イ
マ ー で は 、 こ
の フ ィ ー ル ド
に −6 が 表 示 さ
れ る 。 CLOCK_THREAD_CPUTIME_ID
タ イ マ ー で は
−2 が 表 示 さ れ
る 。
/proc/bus/pccard/drivers
/proc/bus/pci い く つ か
の サ ブ デ ィ レ
ク ト リ が あ り
、 PCI バ ス ・ イ ン
ス ト ー ル さ れ
て い る デ バ イ
ス ・ デ バ イ ス
ド ラ イ バ の 情
報 が 書 か れ た
仮 想 フ ァ イ ル
が あ る 。 こ れ
ら の フ ァ イ ル
の う ち い く つ
か は ASCII フ ォ ー マ
ッ ト で は な い
。
/proc/bus/pci/devices
PCI デ バ イ
ス の 情 報 。 lspci(8)
や setpci(8) で ア ク
セ ス す る こ と
が で き る 。
/proc/cmdline ブ
ー ト 時 に Linux カ ー
ネ ル に 渡 さ れ
た 引 き 数 。 引
き 数 の 受 け 渡
し は 、 た い て
い lilo(8) や grub(8) と
い っ た ブ ー ト
マ ネ ー ジ ャ を
使 っ て 行 わ れ
る 。
/proc/config.gz (Linux 2.6 以 降 ) こ
の フ ァ イ ル で
は 、 現 在 実 行
中 の カ ー ネ ル
の 構 築 時 に 使
用 さ れ た 設 定
オ プ シ ョ ン を
参 照 で き る 。
書 式 は 、 (make xconfig,
make config な ど を 使
っ て ) カ ー ネ ル
の 設 定 を 変 更
し た 際 に 生 成
さ れ る .config フ ァ
イ ル の も の と
同 じ で あ る 。
フ ァ イ ル の 内
容 は 圧 縮 さ れ
て お り 、 zcat(1) や
zgrep(1) を 使 う と 、
表 示 や 検 索 が
で き る 。 フ ァ
イ ル が 変 更 さ
れ て い な い 限
り 、 /proc/config.gz の 内
容 は 次 の コ マ
ン ド で 得 ら れ
る 内 容 と 同 じ
で あ る 。
cat
/lib/modules/$(uname −r)/build/.config
/proc/config.gz
が 提 供 さ れ る
の は 、 カ ー ネ
ル の 設 定 で
CONFIG_IKCONFIG_PROC が 有 効
に な っ て い る
場 合 の み で あ
る 。
/proc/cpuinfo こ
の フ ァ イ ル は
、 CPU お よ び シ ス
テ ム ア ー キ テ
ク チ ャ ー に 依
存 す る 項 目 を
集 め た も の で
、 リ ス ト の 内
容 は サ ポ ー ト
さ れ て い る ア
ー キ テ ク チ ャ
ー 毎 に 異 な る
。 2 つ だ け 共 通
の 項 目 が あ る
。 processor は プ ロ
セ ッ サ 番 号 で
、 bogomips は カ ー ネ
ル の 初 期 化 時
に 計 算 さ れ る
シ ス テ ム 定 数
で あ る 。 SMP マ シ
ン で は 各 CPU に つ
い て の 情 報 が
書 か れ て い る
。 lscpu(1) コ マ ン ド
は こ の フ ァ イ
ル か ら 情 報 を
収 集 す る 。
/proc/devices メ ジ ャ ー
デ バ イ ス 番 号
と デ バ イ ス グ
ル ー プ の テ キ
ス ト 形 式 の リ
ス ト 。 MAKEDEV ス ク
リ プ ト は こ の
フ ァ イ ル を 使
っ て 、 カ ー ネ
ル と の 整 合 性
を 保 つ こ と が
で き る 。
/proc/diskstats (Linux 2.5.69 以 降 )
こ の フ ァ イ ル
に は 各 デ ィ ス
ク デ バ イ ス の
デ ィ ス ク I/O 統 計
情 報 が 書 か れ
て い る 。 更 に
詳 し い 情 報 は
、 Linux カ ー ネ ル ソ
ー ス フ ァ イ ル
Documentation/iostats.txt を 参 照
す る こ と 。
/proc/dma 登 録 さ れ て
い る ISA DMA (direct memory access)
チ ャ ネ ル の リ
ス ト 。
/proc/driver 空 の サ ブ
デ ィ レ ク ト リ
。
/proc/execdomains 実 行 ド メ
イ ン の リ ス ト (ABI
パ ー ソ ナ リ テ
ィ )。
/proc/fb カ ー ネ ル の
コ ン パ イ ル 時
に CONFIG_FB が 定 義
さ れ て い る 場
合 、 フ レ ー ム
バ ッ フ ァ ー の
情 報 が 書 か れ
る 。
/proc/filesystems カ ー ネ ル
が 対 応 し て い
る フ ァ イ ル シ
ス テ ム の テ キ
ス ト 形 式 の リ
ス ト 。 カ ー ネ
ル に 組 み 込 ま
れ て コ ン パ イ
ル さ れ た フ ァ
イ ル シ ス テ ム
と 、 カ ー ネ ル
モ ジ ュ ー ル が
現 在 ロ ー ド さ
れ て い る フ ァ
イ ル シ ス テ ム
が 列 挙 さ れ る
(filesystems(5) 参 照 )。 フ
ァ イ ル シ ス テ
ム に "nodev" と い
う 印 が 付 い て
い る 場 合 、 そ
の フ ァ イ ル シ
ス テ ム が マ ウ
ン ト す る た め
の ブ ロ ッ ク デ
バ イ ス を 必 要
と し な い こ と
を 意 味 す る (例
え ば 、 仮 想 フ
ァ イ ル シ ス テ
ム 、 ネ ッ ト ワ
ー ク フ ァ イ ル
シ ス テ ム な ど
)。 ち な み に 、
マ ウ ン ト 時 に
フ ァ イ ル シ ス
テ ム が 指 定 さ
れ ず 、 ど う や
っ て も フ ァ イ
ル シ ス テ ム の
種 類 を 判 定 で
き な か っ た 際
に 、 こ の フ ァ
イ ル を mount(8) が 使
用 す る か も し
れ な い 。 そ の
場 合 、 こ の フ
ァ イ ル に 含 ま
れ る フ ァ イ ル
シ ス テ ム が 試
さ れ る (た だ し
、 "nodev" の 印 が
つ い た も の は
除 く )。
/proc/fs マ ウ ン ト さ
れ て い る フ ァ
イ ル シ ス テ ム
に 関 す る 情 報
を 提 供 す る フ
ァ イ ル が 入 っ
た サ ブ デ ィ レ
ク ト リ が 入 っ
て い る 。
/proc/ide こ の デ ィ レ
ク ト リ は IDE バ ス
を も つ シ ス テ
ム に 存 在 す る
。 各 IDE チ ャ ネ ル
と そ れ に 取 り
付 け ら れ て い
る 各 デ バ イ ス
ご と に デ ィ レ
ク ト リ が あ り
、 以 下 の フ ァ
イ ル が 含 ま れ
て い る 。
cache バ
ッ フ ァ ー サ イ
ズ (KB)
capacity セ ク タ 数
driver ド ラ イ バ の バ
ー ジ ョ ン
geometry 物 理 ジ オ メ
ト リ と 論 理 ジ
オ メ ト リ
identify 16 進 数 表 記
media メ デ ィ ア の タ
イ プ
model 製 造 者 の モ デ
ル 番 号
settings ド ラ イ ブ の
設 定
smart_thresholds 16 進 数 表 記
smart_values 16 進 数 表 記
hdparm(8)
ユ ー テ ィ リ テ
ィ は 、 分 か り
や す い 形 式 で
こ の 情 報 に ア
ク セ ス す る た
め の 手 段 を 提
供 す る 。
/proc/interrupts
IO デ バ イ
ス 毎 の CPU 別 の 割
り 込 み 回 数 の
記 録 に 使 わ れ
る 。 Linux 2.6.24 以 降 、
少 な く と も i386 と
x86_64 ア ー キ テ ク チ
ャ ー で は 、 (デ
バ イ ス と 関 連
が な い ) シ ス テ
ム 内 部 の 割 り
込 み に つ い て
も 記 録 さ れ る
。 シ ス テ ム 内
部 の 割 り 込 み
に は 、 NMI (nonmaskable interrupt), LOC
(local timer interrupt) や 、 SMP シ
ス テ ム で は TLB (TLB flush
interrupt), RES (rescheduling interrupt), CAL (remote
function call interrupt) な ど が あ
る 。 簡 単 に 読
む こ と の で き
る フ ォ ー マ ッ
ト で 、 ASCII で 表 記
さ れ て い る 。
/proc/iomem
Linux 2.4 に お
け る I/O メ モ リ ー
マ ッ プ 。
/proc/ioports 現
在 登 録 さ れ 使
わ れ て い る I/O ポ
ー ト 領 域 の リ
ス ト 。
/proc/kallsyms (Linux 2.5.71 以 降 )
カ ー ネ ル の 外
部 シ ン ボ ル 定
義 を 保 持 す る
。 modules(X) 関 係 の
ツ ー ル が ロ ー
ダ ー ブ ル モ ジ
ュ ー ル を 動 的
に リ ン ク し た
り バ イ ン ド (bind) す
る の に 使 わ れ
る 。 Linux 2.5.47 以 前 で
は 、 微 妙 に 異
な る 書 式 の 似
た よ う な フ ァ
イ ル が ksyms と い
う 名 前 で あ っ
た 。
/proc/kcore こ の フ ァ イ
ル は シ ス テ ム
の 物 理 メ モ リ
ー を 表 現 し て
お り 、 ELF コ ア フ
ァ イ ル 形 式 (core file
format) で 保 持 さ れ
て い る 。 こ の
擬 似 フ ァ イ ル
と strip さ れ て い な
い カ ー ネ ル の
バ イ ナ リ
(/usr/src/linux/vmlinux) [訳 注 :
パ ッ ケ ー ジ に
依 存 す る ]) が あ
れ ば 、 GDB は カ ー
ネ ル 内 の 任 意
の デ ー タ 構 造
の 現 在 の 状 態
を 調 べ ら れ る
。 こ の フ ァ イ
ル の 大 き さ は
物 理 メ モ リ ー (RAM)
の サ イ ズ に 4KB を
加 え た 値 で あ
る 。
/proc/kmsg こ の フ ァ イ
ル は syslog(2) シ ス
テ ム コ ー ル で
カ ー ネ ル メ ッ
セ ー ジ を 読 み
出 す 代 り に 使
え る 。 プ ロ セ
ス が こ の フ ァ
イ ル を 読 む た
め に は ス ー パ
ー ユ ー ザ ー 権
限 が 必 要 で あ
り 、 フ ァ イ ル
を 読 み 出 す の
は 1 つ の プ ロ セ
ス の み に 限 る
べ き で あ る 。
カ ー ネ ル メ ッ
セ ー ジ を 記 録
す る た め に 、
syslog(2) シ ス テ ム
コ ー ル の 機 能
を 使 う syslog プ ロ セ
ス が 稼 働 し て
い る 場 合 、 こ
の フ ァ イ ル を
読 み 出 す べ き
で は な い 。 こ
の フ ァ イ ル の
中 の 情 報 は dmesg(1)
に よ っ て 表 示
さ れ る 。
/proc/kpagecount (Linux 2.6.25 以 降 )
こ の フ ァ イ ル
に は 、 各 物 理
ペ ー ジ フ レ ー
ム が マ ッ ピ ン
グ さ れ た 回 数
が 64 ビ ッ ト カ ウ
ン タ ー と し て
入 っ て い る 。
イ ン デ ッ ク ス
は ペ ー ジ フ レ
ー ム 番 号 で あ
る (/proc/[pid]/pagemap の 議
論 を 参 照 )。
/proc/kpagecount
フ ァ イ ル が 存
在 す る の は 、
カ ー ネ ル の コ
ン フ ィ ギ ュ レ
ー シ ョ ン オ プ
シ ョ ン CONFIG_PROC_PAGE_MONITOR
を 有 効 に し た
場 合 だ け で あ
る 。
/proc/kpageflags (Linux
2.6.25 以 降 ) こ の フ
ァ イ ル に は 、
各 物 理 ペ ー ジ
フ レ ー ム に 対
応 す る 64 ビ ッ ト
マ ス ク が 入 っ
て い る 。 イ ン
デ ッ ク ス は ペ
ー ジ フ レ ー ム
番 号 で あ る
(/proc/[pid]/pagemap の 議 論
を 参 照 )。 各 ビ
ッ ト は 以 下 の
と お り で あ る
。
0 −
KPF_LOCKED
1 − KPF_ERROR
2 − KPF_REFERENCED
3 − KPF_UPTODATE
4 − KPF_DIRTY
5 − KPF_LRU
6 − KPF_ACTIVE
7 − KPF_SLAB
8 − KPF_WRITEBACK
9 − KPF_RECLAIM
10 − KPF_BUDDY
11 − KPF_MMAP (Linux 2.6.31 以 降 )
12 − KPF_ANON (Linux 2.6.31 以 降 )
13 − KPF_SWAPCACHE (Linux 2.6.31 以 降 )
14 − KPF_SWAPBACKED (Linux 2.6.31 以 降 )
15 − KPF_COMPOUND_HEAD (Linux 2.6.31 以 降
)
16 − KPF_COMPOUND_TAIL (Linux 2.6.31 以 降
)
16 − KPF_HUGE (Linux 2.6.31 以 降 )
18 − KPF_UNEVICTABLE (Linux 2.6.31 以 降 )
19 − KPF_HWPOISON (Linux 2.6.31 以 降 )
20 − KPF_NOPAGE (Linux 2.6.31 以 降 )
21 − KPF_KSM (Linux 2.6.32 以 降 )
22 − KPF_THP (Linux 3.4 以 降 ) こ
れ ら の ビ ッ ト
の 意 味 の 詳 し
い 説 明 は 、 カ
ー ネ ル の ソ ー
ス フ ァ イ ル
Documentation/vm/pagemap.txt を 参
照 。 カ ー ネ ル 2.6.29
よ り 前 で は 、
KPF_WRITEBACK, KPF_RECLAIM, KPF_BUDDY,
KPF_LOCKED は 正 し い
値 を 返 さ な か
っ た 。
/proc/kpageflags
フ ァ イ ル が 存
在 す る の は 、
カ ー ネ ル の コ
ン フ ィ ギ ュ レ
ー シ ョ ン オ プ
シ ョ ン CONFIG_PROC_PAGE_MONITOR
を 有 効 に し た
場 合 だ け で あ
る 。
/proc/ksyms (Linux
1.1.23−2.5.47)
/proc/kallsyms を
参 照 。
/proc/loadavg こ
の フ ァ イ ル の
最 初 の 3 つ の フ
ィ ー ル ド は ロ
ー ド ア ベ レ ー
ジ の 数 値 で 、 1, 5,
15 分 あ た り の 実
行 キ ュ ー 内 (state R)
ま た は デ ィ ス
ク I/O 待 ち (state D) の ジ
ョ ブ 数 を 与 え
る 。 こ れ は
uptime(1) な ど の プ
ロ グ ラ ム に よ
っ て 得 ら れ る
値 と 同 じ で あ
る 。 4 番 目 の フ
ィ ー ル ド は ス
ラ ッ シ ュ (/) で 区
切 ら れ た 2 つ の
数 値 か ら 構 成
さ れ る 。 こ の
数 値 の う ち 最
初 の も の は 、
現 在 実 行 可 能
な カ ー ネ ル ス
ケ ジ ュ ー ル エ
ン テ ィ テ ィ (プ
ロ セ ス 、 ス レ
ッ ド ) の 数 で あ
る 。 ス ラ ッ シ
ュ の 後 の 数 値
は 、 現 在 シ ス
テ ム 上 に 存 在
す る カ ー ネ ル
ス ケ ジ ュ ー ル
エ ン テ ィ テ ィ
の 数 で あ る 。 5
番 目 の フ ィ ー
ル ド は シ ス テ
ム 上 に 最 も 最
近 生 成 さ れ た
プ ロ セ ス の PID で
あ る 。
/proc/locks こ の フ ァ イ
ル は 現 在 の フ
ァ イ ル ロ ッ ク
(flock(2) と fcntl(2)) と リ
ー ス (fcntl(2)) を 表
示 す る 。
/proc/malloc (Linux 2.2 以 前 の
み ) コ ン パ イ ル
の と き に CONFIGDEBUGMALLOC
が 定 義 さ れ て
い る と き の み
、 こ の フ ァ イ
ル は 存 在 す る
。
/proc/meminfo こ の フ ァ
イ ル は シ ス テ
ム の メ モ リ ー
使 用 状 況 の 統
計 情 報 を 表 示
す る 。 free(1) は こ
の フ ァ イ ル を
使 っ て 、 そ の
シ ス テ ム の (物
理 メ モ リ ー と
ス ワ ッ プ の 両
方 の ) 未 使 用 と
使 用 中 の メ モ
リ ー 量 と 、 カ
ー ネ ル が 使 用
し て い る 共 有
メ モ リ ー と バ
ッ フ ァ ー の 使
用 量 を 表 示 す
る 。 こ の フ ァ
イ ル の 各 行 は
、 パ ラ メ ー タ
ー 名 の 後 に 、
コ ロ ン 、 パ ラ
メ ー タ ー 値 が
続 く 。 最 後 に
("kB" な ど の ) 計
測 単 位 が あ る
場 合 も あ る 。
以 下 の リ ス ト
で は 、 フ ィ ー
ル ド 名 と 、 フ
ィ ー ル ド 値 を
読 み 込 む の に
必 要 な フ ォ ー
マ ッ ト 指 定 子
(format specifier) に つ い て
説 明 す る 。 特
に 注 記 が あ る
場 合 を 除 く と
、 す べ て の フ
ィ ー ル ド が 少
な く と も Linux 2.6.0 以
降 で は 存 在 す
る 。 い く つ か
の フ ィ ー ル ド
は 、 カ ー ネ ル
で オ プ シ ョ ン
が 有 効 に な っ
て い る 場 合 に
の み 表 示 さ れ
る 。 こ う し た
依 存 関 係 に つ
い て は リ ス ト
内 に 注 記 が あ
る 。
MemTotal %lu 使
用 可 能 な RAM の 総
量 (つ ま り 、 物
理 RAM サ イ ズ か ら
い く つ か の 予
約 ビ ッ ト と カ
ー ネ ル の バ イ
ナ リ コ ー ド の
分 を 引 い た 値
)。
MemFree %lu
LowFree+HighFree
の 合 計 値 。
Buffers %lu
Relatively temporary storage
for raw disk blocks that shouldn’t get tremendously
large (20MB or so).
Cached %lu デ
ィ ス ク か ら 読
み 出 し た フ ァ
イ ル の イ ン メ
モ リ ー キ ャ ッ
シ ュ (ペ ー ジ キ
ャ ッ シ ュ )。
SwapCached は 含 ま れ
な い 。
SwapCached %lu 一 度 ス ワ
ッ プ ア ウ ト さ
れ 、 そ の 後 ス
ワ ッ プ イ ン さ
れ た が 、 ま だ
ス ワ ッ プ フ ァ
イ ル に も 存 在
す る メ モ リ ー
。 (メ モ リ ー が
残 り 少 な い 場
合 、 こ れ ら の
ペ ー ジ は 、 す
で に ス ワ ッ プ
フ ァ イ ル に 存
在 す る の で 、
も う 一 度 ス ワ
ッ プ ア ウ ト す
る 必 要 が な い
。 こ れ に よ り I/O
が 節 約 で き る
。 )
Active %lu 最 近 使 用 さ
れ た メ モ リ ー
で 、 通 常 は 本
当 に 必 要 に な
ら な い 限 り 回
収 さ れ な い メ
モ リ ー 。
Inactive %lu 最 近 あ ま
り 使 用 さ れ て
い な い メ モ リ
ー 。 他 の 使 用
す る た め に 優
先 し て 回 収 す
べ き メ モ リ ー
。
Active(anon) %lu (Linux 2.6.28 以 降 )
[後 で 記
載 す る ]
Inactive(anon) %lu
(Linux 2.6.28 以 降 )
[後 で 記
載 す る ]
Active(file) %lu (Linux
2.6.28 以 降 )
[後 で 記
載 す る ]
Inactive(file) %lu
(Linux 2.6.28 以 降 )
[後 で 記
載 す る ]
Unevictable %lu (Linux
2.6.28 以 降 )
(Linux 2.6.28 か ら
2.6.30 ま で で は
CONFIG_UNEVICTABLE_LRU が 必 要
で あ っ た 。 ) [後
で 記 載 す る ]
Mlocked %lu (Linux
2.6.28 以 降 )
(Linux 2.6.28 か ら
2.6.30 ま で で は
CONFIG_UNEVICTABLE_LRU が 必 要
で あ っ た 。 ) [後
で 記 載 す る ]
HighTotal %lu
(Linux 2.6.19 以 降
で は CONFIG_HIGHMEM が 必
要 ) highmem の 総 量 。
highmem は 物 理 メ モ
リ ー の 860MB 付 近 よ
り も 上 の 部 分
の メ モ リ ー 領
域 全 体 の こ と
で あ る 。 highmem 領
域 は ユ ー ザ ー
空 間 プ ロ グ ラ
ム と ペ ー ジ キ
ャ ッ シ ュ で 使
用 さ れ る 。 カ
ー ネ ル は こ の
メ モ リ ー に ア
ク セ ス す る の
に 小 技 を 使 っ
て お り 、 lowmem よ り
も ア ク セ ス が
遅 く な る 。
HighFree %lu
(Linux 2.6.19 以 降
で は CONFIG_HIGHMEM が 必
要 ) 未 使 用 の highmem
量 。
LowTotal %lu
(Starting with Linux 2.6.19,
CONFIG_HIGHMEM is required.) Total amount of lowmem.
Lowmem is memory which can be used for everything that
highmem can be used for, but it is also available for the
kernel’s use for its own data structures. Among many
other things, it is where everything from Slab is
allocated. Bad things happen when you’re out of
lowmem.
LowFree %lu
(Linux 2.6.19 以 降
で は CONFIG_HIGHMEM が 必
要 ) 未 使 用 の lowmem
量 。
MmapCopy %lu (Linux
2.6.29 以 降 )
(CONFIG_MMU が
必 要 ) [後 で 記 載
す る ]
SwapTotal %lu 利
用 可 能 な ス ワ
ッ プ 空 間 の 総
量 。
SwapFree %lu 現 在 未 使
用 の ス ワ ッ プ
空 間 の 量 。
Dirty %lu デ ィ ス ク に
書 き 戻 さ れ る
の を 待 っ て い
る メ モ リ ー 。
Writeback %lu 現 在 デ ィ
ス ク に 書 き 戻
し 中 の メ モ リ
ー 。
AnonPages %lu (Linux 2.6.18 以 降 ) ユ
ー ザ ー 空 間 ペ
ー ジ テ ー ブ ル
に マ ッ ピ ン グ
さ れ て い る フ
ァ イ ル と 関 連
付 け ら れ て い
な い ペ ー ジ 。
Mapped %lu
(mmap(2) で )
メ モ リ ー に マ
ッ ピ ン グ さ れ
て い る フ ァ イ
ル 。 ラ イ ブ ラ
リ な ど 。
Shmem %lu (Linux 2.6.32
以 降 )
[後 で 記
載 す る ]
Slab %lu カ
ー ネ ル 内 の デ
ー タ 構 造 体 の
キ ャ ッ シ ュ 。
SReclaimable %lu (Linux 2.6.19 以 降 )
回 収 可 能 な
Slab。 キ ャ ッ シ
ュ な ど 。
SUnreclaim %lu (Linux 2.6.19 以 降 )
メ モ リ ー 消 費
が 激 し い 際 で
も 回 収 で き な
い Slab。
KernelStack %lu (Linux 2.6.32 以 降 )
カ ー ネ ル ス タ
ッ ク に 割 り 宛
て ら れ て い る
メ モ リ ー 量 。
PageTables %lu (Linux 2.6.18 以 降 )
Amount of memory dedicated to
the lowest level of page tables.
Quicklists %lu (Linux
2.6.27 以 降 )
(CONFIG_QUICKLIST
が 必 要 ) [後 で 記
載 す る ]
NFS_Unstable %lu (Linux
2.6.18 以 降 ) サ ー バ
に 送 信 さ れ た
が 、 ま だ 永 続
的 な ス ト レ ー
ジ に は 書 き 込
ま れ て い な い NFS
ペ ー ジ 。
Bounce %lu (Linux 2.6.18 以 降 )
Memory used for block device
"bounce buffers".
WritebackTmp %lu (Linux
2.6.26 以 降 )
FUSE で 一 時
的 な ラ イ ト バ
ッ ク バ ッ フ ァ
ー に 使 わ れ て
い る メ モ リ ー
。
CommitLimit %lu (Linux
2.6.10 以 降 )
This is the total amount of
memory currently available to be allocated on the system,
expressed in kilobytes. This limit is adhered to only if
strict overcommit accounting is enabled (mode 2 in
/proc/sys/vm/overcommit_memory). The limit is
calculated according to the formula described under
/proc/sys/vm/overcommit_memory. For further details,
see the kernel source file
Documentation/vm/overcommit−accounting.
Committed_AS %lu
The amount of memory presently
allocated on the system. The committed memory is a sum of
all of the memory which has been allocated by processes,
even if it has not been "used" by them as of yet.
A process which allocates 1GB of memory (using
malloc(3) or similar), but touches only 300MB of that
memory will show up as using only 300MB of memory even if it
has the address space allocated for the entire 1GB.
This 1GB is
memory which has been "committed" to by the VM and
can be used at any time by the allocating application. With
strict overcommit enabled on the system (mode 2 in IR
/proc/sys/vm/overcommit_memory ), allocations which would
exceed the CommitLimit will not be permitted. This is
useful if one needs to guarantee that processes will not
fail due to lack of memory once that memory has been
successfully allocated.
VmallocTotal %lu
vmalloc メ モ
リ ー 領 域 の 総
量 。
VmallocUsed %lu 使
用 中 の vmalloc 領 域
の 量 。
VmallocChunk %lu
vmalloc 領 域
の 未 使 用 の 連
続 す る ブ ロ ッ
ク の 最 大 サ イ
ズ 。
HardwareCorrupted %lu
(Linux 2.6.32 以 降 )
(CONFIG_MEMORY_FAILURE
が 必 要 ) [後 で 記
載 す る ]
AnonHugePages %lu (Linux
2.6.38 以 降 )
(CONFIG_TRANSPARENT_HUGEPAGE
が 必 要 ) ユ ー ザ
ー 空 間 ペ ー ジ
テ ー ブ ル に マ
ッ ピ ン グ さ れ
て い る フ ァ イ
ル と 関 連 付 け
ら れ て い な い
ヒ ュ ー ジ ペ ー
ジ 。
HugePages_Total %lu
(CONFIG_HUGETLB_PAGE
が 必 要 ) ヒ ュ ー
ジ ペ ー ジ の プ
ー ル サ イ ズ 。
HugePages_Free %lu
(CONFIG_HUGETLB_PAGE
が 必 要 ) プ ー ル
内 の 割 り 当 て
ら れ て い な い
ヒ ュ ー ジ ペ ー
ジ 数 。
HugePages_Rsvd %lu
(Linux 2.6.17 以 降 )
(CONFIG_HUGETLB_PAGE
が 必 要 ) プ ー ル
か ら 割 り 当 て
が 宣 言 さ れ た
が 、 ま だ 割 り
当 て が 行 わ れ
て い な い ヒ ュ
ー ジ ペ ー ジ 数
。 こ れ ら の 予
約 ヒ ュ ー ジ ペ
ー ジ に よ り 、
ア プ リ ケ ー シ
ョ ン が メ モ リ
ー フ ォ ー ル ト
時 に ヒ ュ ー ジ
ペ ー ジ の プ ー
ル か ら ヒ ュ ー
ジ ペ ー ジ が 割
り 当 て ら れ る
こ と が 保 証 さ
れ る 。
HugePages_Surp %lu
(Linux 2.6.24 以 降 )
(CONFIG_HUGETLB_PAGE is
required.) This is the number of huge pages in the pool
above the value in /proc/sys/vm/nr_hugepages. The
maximum number of surplus huge pages is controlled by
/proc/sys/vm/nr_overcommit_hugepages.
Hugepagesize %lu
(CONFIG_HUGETLB_PAGE
が 必 要 ) ヒ ュ ー
ジ ペ ー ジ の サ
イ ズ 。
/proc/modules 現
在 シ ス テ ム に
ロ ー ド さ れ て
い る モ ジ ュ ー
ル の テ キ ス ト
形 式 の リ ス ト
。 lsmod(8) も 参 照 。
/proc/mounts カ ー ネ ル 2.4.19
よ り 前 で は 、
こ の フ ァ イ ル
は 現 在 シ ス テ
ム に マ ウ ン ト
さ れ て い る 全
て の フ ァ イ ル
シ ス テ ム の リ
ス ト で あ っ た
。 Linux 2.4.19 で プ ロ セ
ス 単 位 の マ ウ
ン ト 名 前 空 間
が 導 入 さ れ た
こ と に 伴 い 、
こ の フ ァ イ ル
は /proc/self/mounts へ の リ
ン ク と な っ た
。 /proc/self/mounts は そ の
プ ロ セ ス 自 身
の マ ウ ン ト 名
前 空 間 の マ ウ
ン ト ポ イ ン ト
の リ ス ト で あ
る 。 こ の フ ァ
イ ル の フ ォ ー
マ ッ ト は fstab(5) に
記 述 さ れ て い
る 。
/proc/mtrr
Memory Type Range
Registers。 詳 細 は 、 Linux
カ ー ネ ル ソ ー
ス フ ァ イ ル
Documentation/mtrr.txt を 参 照
す る こ と 。
/proc/net さ
ま ざ ま な ネ ッ
ト ワ ー ク に つ
い て の 擬 似 フ
ァ イ ル で 、 そ
れ ぞ れ が ネ ッ
ト ワ ー ク 層 の
各 種 の 状 態 を
与 え る 。 こ れ
ら の フ ァ イ ル
の 内 容 は ASCII 形 式
な の で 、 cat(1) で
読 み 出 せ る 。
と は い え 基 本
コ マ ン ド の
netstat(8) は こ れ ら
の フ ァ イ ル の
内 容 の よ り す
っ き り と し た
表 示 を 提 供 す
る 。
/proc/net/arp ア ド レ ス
解 決 に 使 わ れ
る カ ー ネ ル の ARP
テ ー ブ ル の ASCII 可
読 な ダ ン プ を
保 持 し て い る
。 動 的 結 合 さ
れ た も の と 固
定 (preprogrammed) の 両 方 の
APP エ ン ト リ ー を
見 る こ と が で
き る 。 フ ォ ー
マ ッ ト は 以 下
の と お り :
IP address HW type Flags HW address Mask Device
192.168.0.50 0x1 0x2 00:50:BF:25:68:F3 * eth0
192.168.0.250 0x1 0xc 00:00:00:00:00:00 * eth0こ こ で
IP address は マ
シ ン の IPv4 ア ド レ
ス 、 HW type は そ の
ア ド レ ス の RFC 826
で 定 め ら れ て
い る ハ ー ド ウ
ェ ア の 形 式 、 Flags
は ARP 構 造 体
(/usr/include/linux/if_arp.h 内 で
定 義 さ れ て い
る ) の 内 部 フ ラ
グ 、 HW address は そ の IP
ア ド レ ス に マ
ッ プ さ れ て い
る デ ー タ リ ン
ク 層 の ア ド レ
ス (も し わ か っ
て い れ ば ) で あ
る 。
/proc/net/dev 擬
似 フ ァ イ ル dev は
ネ ッ ト ワ ー ク
デ バ イ ス の 状
態 情 報 を 含 ん
で い る 。 こ れ
は 送 受 信 し た
パ ケ ッ ト 数 、
エ ラ ー と コ リ
ジ ョ ン (collision) の 回
数 、 そ の 他 の
基 本 的 な 統 計
を 与 え る 。 こ
れ ら は ifconfig(8) が
デ バ イ ス の 状
態 を 報 告 す る
の に 使 わ れ る
。 フ ォ ー マ ッ
ト は 以 下 の と
お り :
Inter−| Receive | Transmit
face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
lo: 2776770 11307 0 0 0 0 0 0 2776770 11307 0 0 0 0 0 0
eth0: 1215645 2751 0 0 0 0 0 0 1782404 4324 0 0 0 427 0 0
ppp0: 1622270 5552 1 0 0 0 0 0 354130 5669 0 0 0 0 0 0
tap0: 7714 81 0 0 0 0 0 0 7714 81 0 0 0 0 0 0
/proc/net/dev_mcast
/usr/src/linux/net/core/dev_mcast.c
で 定 義 さ れ て
お り 、 以 下 の
形 式 で あ る 。
indx interface_name dmi_u dmi_g
dmi_address
2 eth0 1 0 01005e000001
3 eth1 1 0 01005e000001
4 eth2 1 0 01005e000001
/proc/net/igmp
Internet Group Management
Protocol (イ ン タ ー ネ
ッ ト グ ル ー プ
管 理 プ ロ ト コ
ル )。 /usr/src/linux/net/core/igmp.c
で 定 義 さ れ て
い る 。
/proc/net/rarp こ
の フ ァ イ ル は
arp と 同 じ フ ォ
ー マ ッ ト で 逆
ア ド レ ス 解 決
サ ー ビ ス (reverse address lookup
services) rarp(8) に 提 供 す
る た め に 使 わ
れ る 現 在 の 逆
マ ッ プ デ ー タ
ベ ー ス の 内 容
を 含 ん で い る
。 RARP が カ ー ネ ル
コ ン フ ィ グ レ
ー シ ョ ン に 設
定 さ れ て い な
け れ ば 、 こ の
フ ァ イ ル は 存
在 し な い 。
/proc/net/raw
RAW ソ ケ ッ
ト テ ー ブ ル の
ダ ン プ を 保 持
し て い る 。 ほ
と ん ど の 情 報
は デ バ ッ グ 以
外 で は 使 わ れ
な い 。 "sl" の 値
は ソ ケ ッ ト の
カ ー ネ ル ハ ッ
シ ュ ス ロ ッ ト
、 "local_address" は ロ
ー カ ル ア ド レ
ス と プ ロ ト コ
ル 番 号 の ペ ア
[訳 者 追 加 :
"rem_address" は リ モ ー
ト ア ド レ ス と
プ ロ ト コ ル 番
号 の ペ ア ]。 "st"
は ソ ケ ッ ト の
内 部 状 態 。
"tx_queue" と "rx_queue" は
カ ー ネ ル メ モ
リ ー を 消 費 し
て い る 送 信 /受
信 デ ー タ キ ュ
ー の サ イ ズ 。
"tr" と "tm−>when"
と "rexmits" フ ィ ー
ル ド は RAW で は 使
わ れ て い な い
。 "uid" フ ィ ー ル
ド は ソ ケ ッ ト
生 成 者 の 実 効 UID
を 保 持 し て い
る 。
/proc/net/snmp こ
の フ ァ イ ル は SNMP
エ ー ジ ェ ン ト
が 必 要 と す る IP,
ICMP, TCP, UDP 管 理 情 報 を
ASCII デ ー タ と し て
保 持 し て い る
。
/proc/net/tcp
TCP ソ ケ ッ
ト テ ー ブ ル の
ダ ン プ を 保 持
し て い る 。 大
部 分 の 情 報 は
デ バ ッ グ 以 外
に は 使 わ れ な
い 。 sl は ソ ケ ッ
ト の カ ー ネ ル
ハ ッ シ ュ ス ロ
ッ ト の 値 、
"local_address" は ロ ー
カ ル ア ド レ ス
と ポ ー ト 番 号
の ペ ア で あ る
。 (ソ ケ ッ ト が
接 続 し て い る
場 合 は ) "rem_address"
は リ モ ー ト ア
ド レ ス と ポ ー
ト 番 号 の 対 で
あ る 。 "st" は ソ
ケ ッ ト の 内 部
状 態 で あ る 。
"tx_queue" と "rx_queue" は
カ ー ネ ル メ モ
リ ー を 消 費 し
て い る 送 信 /受
信 デ ー タ キ ュ
ー の サ イ ズ 。
"tr" と "tm−>when"
と "rexmits" フ ィ ー
ル ド は ソ ケ ッ
ト 状 態 の カ ー
ネ ル 内 部 情 報
を 保 持 し て い
る が 、 こ れ ら
が 役 に 立 つ の
は デ バ ッ グ の
と き だ け で あ
る 。 "uid" フ ィ ー
ル ド は ソ ケ ッ
ト 生 成 者 の 実
効 UID を 保 持 し て
い る 。
/proc/net/udp
UDP ソ ケ ッ
ト テ ー ブ ル の
ダ ン プ を 保 持
し て い る 。 大
部 分 の 情 報 は
デ バ ッ グ 以 外
に は 使 わ れ な
い 。 sl は ソ ケ ッ
ト の カ ー ネ ル
ハ ッ シ ュ ス ロ
ッ ト の 値 、
"local_address" は ロ ー
カ ル ア ド レ ス
と ポ ー ト 番 号
の ペ ア で あ る
。 (ソ ケ ッ ト が
接 続 し て い る
場 合 は ) "rem_address"
は リ モ ー ト ア
ド レ ス と ポ ー
ト 番 号 の ペ ア
で あ る 。 "st" は
ソ ケ ッ ト の 内
部 状 態 で あ る
。 "tx_queue" と "rx_queue"
は カ ー ネ ル メ
モ リ ー を 消 費
し て い る 送 信
/受 信 デ ー タ キ
ュ ー の サ イ ズ
。 "tr" と
"tm−>when" と "rexmits"
フ ィ ー ル ド は UDP
で は 使 わ れ て
い な い 。 "uid" フ
ィ ー ル ド は ソ
ケ ッ ト 生 成 者
の 実 効 UID を 保 持
し て い る 。 フ
ォ ー マ ッ ト は
以 下 の と お り :
sl local_address rem_address st tx_queue rx_queue tr rexmits tm−>when uid
1: 01642C89:0201 0C642C89:03FF 01 00000000:00000001 01:000071BA 00000000 0
1: 00000000:0801 00000000:0000 0A 00000000:00000000 00:00000000 6F000100 0
1: 00000000:0201 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0
/proc/net/unix
UNIX ド メ イ
ン ソ ケ ッ ト の
リ ス ト 。 フ ォ
ー マ ッ ト は 以
下 の と お り :
Num RefCount Protocol Flags Type St Path
0: 00000002 00000000 00000000 0001 03
1: 00000001 00000000 00010000 0001 01 /dev/printerこ こ で 、
Num は カ ー
ネ ル の テ ー ブ
ル ス ロ ッ ト 数
、 RefCount は ソ ケ ッ
ト を 使 用 し て
い る ユ ー ザ ー
数 、 Protocol は い ま
の と こ ろ い つ
も 0 で 、 Flags は ソ
ケ ッ ト の 状 態
を 保 持 し て い
る カ ー ネ ル 内
部 の フ ラ グ で
あ る 。 Type は い ま
の と こ ろ い つ
も 1 (UNIX ド メ イ ン
の デ ー タ グ ラ
ム ソ ケ ッ ト は
、 現 在 の カ ー
ネ ル で は サ ポ
ー ト さ れ て い
な い [訳 注 : 2.0.34 で
は サ ポ ー ト さ
れ て い る よ う
だ ])。 St は ソ ケ ッ
ト の 内 部 状 態
で 、 Path は (も し あ
れ ば ) ソ ケ ッ ト
の パ ス 名 で あ
る 。
/proc/net/netfilter/nfnetlink_queue
こ の フ ァ イ ル
は netfilter ユ ー ザ ー
空 間 キ ュ ー イ
ン グ が 使 用 さ
れ て い る 場 合
netfilter ユ ー ザ ー 空
間 キ ュ ー イ ン
グ の 情 報 を 表
示 す る 。 各 行
が 各 キ ュ ー の
情 報 を 表 示 す
る 。 ユ ー ザ ー
空 間 で 購 読 さ
れ て い な い キ
ュ ー は 表 示 さ
れ な い 。
1 4207 0 2
65535 0 0 0 1
(1) (2) (3)(4) (5) (6) (7) (8) 各 行 の
フ ィ ー ル ド は
以 下 の 通 り で
あ る 。
−−queue−num
や −−queue−balance オ
プ シ ョ ン で 指
定 さ れ た 値 と
一 致 す る 。 詳
し い 情 報 は
iptables−extensions(8) を 参
照 。
|
(2) キ ュ ー
を 購 読 し て い
る |
netlink ポ ー
ト ID。 |
|
|
(3) 現 在 キ ュ ー
に 入 っ て い て |
|
|
ア プ リ
ケ ー シ ョ ン が
処 理 す る の を
待 っ て い る パ
ケ ッ ト 数 。
|
|
|
|
|
(4) キ ュ ー の コ
ピ ー モ ー ド 。
値 は |
|
1 (メ タ デ ー タ の
み ) か 2 (ペ イ |
ロ ー ド
デ ー タ も ユ ー
ザ ー 空 間 に コ
ピ ー す る ) の い
ず れ か で あ る
。
|
(5) コ ピ ー
す る 範 囲 。 つ
ま り 、 最 大 で
何 バ イ ト の パ
ケ ッ ト ペ イ ロ
ー ド を ユ ー ザ
ー 空 間 に コ ピ
ー す る 必 要 が
あ る か を 示 す
。 |
|
(6) キ ュ ー で の
破 棄 数 。 す で
に 多 数 の パ ケ
ッ ト が ユ ー ザ
ー 空 間 が 必 ず
必 要 な 受 け 入
れ |
/破 棄 の
判 定 を 送 り 返
す の を 待 っ て
い た た め 、 カ
ー ネ ル が ド ロ
ッ プ す る 必 要
が あ っ た パ ケ
ッ ト 数 。
|
(7) キ ュ ー
の ユ ー ザ ー で
の ド ロ ッ プ 数
。 |
|
netlink サ ブ
シ ス テ ム 内 で
破 |
棄 さ れ
た パ ケ ッ ト 数
。 こ の よ う な
パ ケ ッ ト の 破
棄 が 通 常 起 こ
る の は 、 対 応
す る ソ ケ ッ ト
バ ッ フ ァ ー が
一 杯 の 場 合 、
つ ま り 、 ユ ー
ザ ー 空 間 が メ
ッ セ ー ジ を 十
分 な 速 度 で 読
み 出 せ な い 場
合 で あ る 。
|
(8) シ ー ケ
ン ス 番 号 。 キ
ュ ー に 入 っ た
す べ て の パ ケ
ッ ト に は
32 ビ ッ |
ト の 単
調 増 加 の シ ー
ケ ン ス 番 号 が
関 連 付 け ら れ
る 。 こ れ は 一
番 最 近 キ ュ ー
に 入 っ た パ ケ
ッ ト の ID と な る
。 最 後 の 数 字
は 互 換 性 の た
め だ け に 存 在
し 、 常 に 1 で あ
る 。
/proc/partitions
各 パ ー テ ィ シ
ョ ン の メ ジ ャ
ー 番 号 と マ イ
ナ ー 番 号 が 書
か れ て い る 。
さ ら に 、 1024 バ イ
ト ブ ロ ッ ク 数
と パ ー テ ィ シ
ョ ン 名 も 書 か
れ て い る 。
/proc/pci カ ー ネ ル の
初 期 化 時 に 見
つ か っ た す べ
て の PCI デ バ イ ス
の リ ス ト と そ
の 設 定 。 こ の
フ ァ イ ル は 非
推 奨 で あ り 、
新 し い PCI 用 の
/proc イ ン タ ー フ
ェ イ ス (/proc/bus/pci) を
使 う こ と 。 こ
の フ ァ イ ル は Linux
2.2 で オ プ シ ョ ン
に な っ た (カ ー
ネ ル の コ ン パ
イ ル 時 に
CONFIG_PCI_OLD_PROC を セ ッ
ト す る と 利 用
可 能 で あ っ た
)。 Linux 2.4 で 再 び オ
プ シ ョ ン な し
で 有 効 に 戻 っ
た 。 さ ら に 、 Linux
2.6 で 非 推 奨 と な
り (CONFIG_PCI_LEGACY_PROC を セ
ッ ト す る と ま
だ 利 用 可 能 で
あ っ た )、 最 終
的 に Linux 2.6.17 以 降 で
完 全 に 削 除 さ
れ た 。
/proc/profile (Linux 2.4 以 降 ) こ
の フ ァ イ ル は
、 カ ー ネ ル が
profile=1 コ マ ン ド
ラ イ ン オ プ シ
ョ ン で 起 動 さ
れ た 場 合 に の
み 存 在 す る 。
こ の フ ァ イ ル
は 、 カ ー ネ ル
の プ ロ フ ァ イ
リ ン グ 情 報 を
readprofile(1) を 使 っ て
読 み 込 め る バ
イ ナ リ 形 式 で
公 開 す る 。 こ
の フ ァ イ ル に
(例 え ば 、 空 の
文 字 列 を ) 書 き
込 む と 、 プ ロ
フ ァ イ リ ン グ
カ ウ ン タ ー が
リ セ ッ ト さ れ
る 。 い く つ か
の ア ー キ テ ク
チ ャ ー で は 、
サ イ ズ sizeof(int) の
バ イ ナ リ 整 数
で あ る 「 プ ロ
フ ァ イ リ ン グ
倍 率 」 を 書 き
込 む と プ ロ フ
ァ イ リ ン グ の
割 り 込 み 頻 度
を 設 定 で き る
。
/proc/scsi
scsi 中 間
レ ベ ル 擬 似 フ
ァ イ ル と い く
つ か の SCSI 低 レ ベ
ル ド ラ イ バ の
デ ィ レ ク ト リ
を 含 む デ ィ レ
ク ト リ 。 こ れ
ら の フ ァ イ ル
は ASCII で 表 現 さ れ
て い る の で cat(1)
で 読 め る 。 い
く つ か の フ ァ
イ ル は 書 き 込
み 可 能 で 、 サ
ブ シ ス テ ム の
設 定 を 変 更 し
た り 、 特 定 の
機 能 を オ ン /オ
フ す る こ と が
で き る 。
/proc/scsi/scsi カ
ー ネ ル が 知 っ
て い る す べ て
の SCSI デ バ イ ス の
リ ス ト 。 こ の
リ ス ト は 起 動
時 に (コ ン ソ ー
ル で ) 見 ら れ る
も の と ほ ぼ 同
じ で あ る 。 scsi は
現 在 の と こ ろ
add−single−device コ マ
ン ド の み を サ
ポ ー ト し て い
る 。 こ れ に よ
り ル ー ト (root) は 既
知 の デ バ イ ス
リ ス ト へ 活 線
挿 抜 (hotplugged) デ バ イ
ス を 加 え る こ
と が で き る 。
次 の コ マ ン ド
を 実 行 す る と
、
echo 'scsi
add−single−device 1 0 5 0' > /proc/scsi/scsi
ホ ス ト ア ダ プ
タ ー scsi1 は SCSI チ ャ
ネ ル 0 で ID 5 LUN 0 の デ
バ イ ス を 探 す
。 も し こ の ア
ド レ ス に 既 知
の デ バ イ ス が
あ る か 、 不 正
な ア ド レ ス で
あ っ た な ら ば
エ ラ ー が 返 る
。
/proc/scsi/[drivername]
い ま の と こ ろ
[drivername] は NCR53c7xx, aha152x, aha1542,
aha1740, aic7xxx, buslogic, eata_dma, eata_pio, fdomain,
in2000, pas16, qlogic, scsi_debug, seagate, t128,
u15−24f, ultrastore, wd7000 の ど れ
か で あ る 。 少
な く と も 1 つ の SCSI
ホ ス ト バ ス ア
ダ プ タ ー (HBA) に ド
ラ イ バ が 割 り
当 て ら れ て い
る と 、 そ の ド
ラ イ バ に 対 応
し た デ ィ レ ク
ト リ が 現 れ る
。 そ れ ぞ れ の
デ ィ レ ク ト リ
に は 、 登 録 さ
れ た ホ ス ト ア
ダ プ タ ー に 対
応 し て フ ァ イ
ル が 作 ら れ る
。 こ の フ ァ イ
ル の 名 前 は 、
シ ス テ ム の 初
期 化 の 際 に ホ
ス ト ア ダ プ タ
ー に 割 り 当 て
ら れ た 番 号 に
な る 。 こ れ ら
の フ ァ イ ル を
読 め ば ド ラ イ
バ と ホ ス ト ア
ダ プ タ ー の 設
定 や 統 計 な ど
を 見 る こ と が
で き る 。 こ れ
ら の フ ァ イ ル
へ の 書 き 込 み
は ホ ス ト ア ダ
プ タ ー ご と に
異 な る 動 作 を
引 き 起 こ す 。
た と え ば latency と
nolatency コ マ ン ド
を 用 い る と 、
ル ー ト (root、 ス ー
パ ー ユ ー ザ ー )
は eata_dma ド ラ イ バ
の 隠 し 測 定 コ
ー ド の オ ン /オ
フ を 切 り 替 え
る こ と が で き
る 。 ま た lockup と
unlock コ マ ン ド を
用 い る と 、 ル
ー ト は scsi_debug ド ラ
イ バ が シ ミ ュ
レ ー ト す る バ
ス ロ ッ ク ア ッ
プ (bus lockup) を 制 御 す
る こ と が で き
る 。
/proc/self こ の デ ィ レ
ク ト リ は プ ロ
セ ス に (プ ロ セ
ス 自 身 の ) /proc フ
ァ イ ル シ ス テ
ム へ の ア ク セ
ス を 参 照 さ せ
る 。 こ れ は /proc
内 の (こ の プ ロ
セ ス の ) プ ロ セ
ス ID が 名 前 と な
っ て い る デ ィ
レ ク ト リ と 全
く 同 一 で あ る
。
/proc/slabinfo
Linux 2.6.16 以 降
で は 、 カ ー ネ
ル 設 定 オ プ シ
ョ ン CONFIG_SLAB が 有
効 の 場 合 に の
み 、 こ の フ ァ
イ ル は 存 在 す
る 。 カ ー ネ ル
キ ャ ッ シ ュ の
情 報 。 /proc/slabinfo の
フ ィ ー ル ド は
以 下 の と お り
。
cache−name
num−active−objs
total−objs
object−size
num−active−slabs
total−slabs
num−pages−per−slab 詳 細
は slabinfo(5) を 参 照
す る こ と 。
/proc/stat カ
ー ネ ル /シ ス テ
ム の 統 計 。 ア
ー キ テ ク チ ャ
ー に よ っ て 異
な る 。 共 通 エ
ン ト リ ー に は
以 下 の も の が
含 ま れ る 。
cpu 3357 0 4313 1362393
各 種 状 態 で 消
費 さ れ た 時 間
の 合 計 値 。 時
間 は USER_HZ を 単 位
と し て 計 測 さ
れ る (ほ と ん ど
の ア ー キ テ ク
チ ャ ー で は USER_HZ
は 1/100 秒 で 、 正 し
い 値 は sysconf(_SC_CLK_TCK)
を 使 っ て 取 得
で き る )。
|
user |
|
(1) ユ ー ザ ー モ
ー ド で 消 費 し
た 時 間 。 |
|
nice |
|
(2) 低 い 優 先 度 (nice)
の ユ ー ザ ー モ
ー ド で 消 費 し
た 時 間 。 |
|
system |
|
(3) シ ス テ ム モ
ー ド で 消 費 し
た 時 間 。 |
|
idle |
|
(4) タ ス ク 待 ち (idle
task) で 消 費 し た 時
間 。 こ の 値 は
擬 似 フ ァ イ ル
/proc/uptime の 2 番 目 の
エ ン ト リ ー の
値 を USER_HZ 倍 し た
値 に な る は ず
で あ る 。 |
iowait (Linux 2.5.41
以 降 )
(5) I/O の 完
了 待 ち の 時 間
。
irq (Linux
2.6.0−test4 以 降 )
(6) 割 り 込
み の 処 理 に 使
っ た 時 間 。
softirq (Linux
2.6.0−test4 以 降 )
(7) ソ フ ト
割 り 込 み の 処
理 に 使 っ た 時
間 。
steal (Linux 2.6.11
以 降 )
(8) 盗 ま れ
た 時 間 (stolen time)。 仮
想 化 環 境 で の
動 作 時 に 他 の
オ ペ レ ー テ ィ
ン グ シ ス テ ム
に よ り 消 費 さ
れ た 時 間 で あ
る 。
guest (Linux 2.6.24
以 降 )
(9) Linux カ ー
ネ ル の 制 御 下
の ゲ ス ト オ ペ
レ ー テ ィ ン グ
シ ス テ ム の 仮
想 CPU の 実 行 に 消
費 さ れ た 時 間
。
guest_nice (Linux 2.6.33
以 降 )
(10) nice が 適
用 さ れ た ゲ ス
ト (Linux カ ー ネ ル の
制 御 下 の ゲ ス
ト オ ペ レ ー テ
ィ ン グ シ ス テ
ム の 仮 想 CPU) の 実
行 に 消 費 さ れ
た 時 間 。
page 5741 1808 シ
ス テ ム が (デ ィ
ス ク か ら ) ペ ー
ジ イ ン /ペ ー ジ
ア ウ ト し た ペ
ー ジ 数 。
swap 1 0 ス ワ ッ プ イ
ン /ス ワ ッ プ ア
ウ ト さ れ た ペ
ー ジ 数 。
intr 1462898 こ の 行 は
シ ス テ ム 起 動
時 以 降 に 処 理
さ れ た 割 り 込
み の 回 数 を 示
す 。 最 初 の 欄
は 処 理 さ れ た
割 り 込 み 全 て
の 合 計 で あ り
、 こ れ に は 番
号 が 割 り 振 ら
れ て い な い ア
ー キ テ ク チ ャ
ー 固 有 の 割 り
込 み も 含 ま れ
る 。 そ れ 以 降
の 欄 は そ れ ぞ
れ 番 号 が 割 り
振 ら れ た 割 り
込 み に つ い て
の 合 計 で あ る
。 番 号 が 割 り
振 ら れ て い な
い 割 り 込 み は
表 示 さ れ ず 、
全 体 の 合 計 に
の み 加 算 さ れ
る 。
disk_io: (2,0):(31,30,5764,1,2) (3,0):...
(メ ジ ャ
ー 番 号 , デ ィ ス
ク イ ン デ ッ ク
ス 番 号 ):(情 報 な
し (noinfo), 読 み 込 み
回 数 , 読 み 込 み
ブ ロ ッ ク 数 , 書
き 出 し 回 数 , 書
き 出 し ブ ロ ッ
ク 数 )
(Linux 2.4 の み )
ctxt 115315 コ
ン テ ク ス ト ス
イ ッ チ の 延 べ
回 数 。
btime 769041601 起 動 時 刻
、 紀 元 (Epoch; 1970−01−01
00:00:00 +0000 (UTC)) か ら の 秒
数 。
processes 86031 シ ス テ ム
起 動 時 か ら の
延 べ フ ォ ー ク (fork)
数 。
procs_running 6 実 行 中 状
態 の プ ロ セ ス
数 (Linux 2.5.45 以 降 )。
procs_blocked 2
I/O 完 了 待
ち で 停 止 (blocked) し
て い る プ ロ セ
ス 数 (Linux 2.5.45 以 降
)。
/proc/swaps 使
用 中 の ス ワ ッ
プ 領 域 。 swapon(8)
も 参 照 す る こ
と 。
/proc/sys こ の デ ィ レ
ク ト リ (1.3.57 以 降
に 存 在 ) は カ ー
ネ ル 変 数 に 対
応 す る い く つ
か の フ ァ イ ル
と サ ブ デ ィ レ
ク ト リ を 含 む
。 こ れ ら の 変
数 は 読 み 出 し
可 能 で あ る 。
ま た 場 合 に よ
っ て は /proc フ ァ
イ ル シ ス テ ム
や 、 (非 推 奨 の )
シ ス テ ム コ ー
ル sysctl(2) を 用 い
て 書 き 換 え る
こ と も で き る
。
/proc/sys/abi (Linux 2.4.10 以 降 ) こ
の デ ィ レ ク ト
リ に は ア プ リ
ケ ー シ ョ ン の
バ イ ナ リ 情 報
が 入 っ た フ ァ
イ ル が 置 か れ
る 。 更 に 詳 し
い 情 報 は 、 Linux カ
ー ネ ル ソ ー ス
フ ァ イ ル
Documentation/sysctl/abi.txt を 参
照 す る こ と 。
/proc/sys/debug こ の デ ィ
レ ク ト リ は 空
の 場 合 も あ る
。
/proc/sys/dev こ の デ ィ
レ ク ト リ に は
デ バ イ ス 特 有
の 情 報 (た と え
ば dev/cdrom/info) が 含 ま
れ る 。 こ の デ
ィ レ ク ト リ が
空 に な っ て い
る シ ス テ ム も
あ る 。
/proc/sys/fs こ の デ ィ
レ ク ト リ に は
、 フ ァ イ ル シ
ス テ ム に 関 連
す る カ ー ネ ル
変 数 用 の デ ィ
レ ク ト リ と サ
ブ デ ィ レ ク ト
リ が 含 ま れ る
。
/proc/sys/fs/binfmt_misc こ の デ
ィ レ ク ト リ 以
下 の フ ァ イ ル
に つ い て の ド
キ ュ メ ン ト は
、 Linux カ ー ネ ル ソ
ー ス の
Documentation/binfmt_misc.txt に あ
る 。
/proc/sys/fs/dentry−state (Linux 2.2 以
降 ) こ の フ ァ イ
ル に は 、 デ ィ
レ ク ト リ キ ャ
ッ シ ュ (dcache) の 状
態 に 関 す る 情
報 が 入 っ て い
る 。 フ ァ イ ル
に は 、 nr_dentry,
nr_unused, age_limit (秒 単
位 の age), want_pages (シ ス
テ ム が リ ク エ
ス ト し た ペ ー
ジ 数 ), ダ ミ ー の 2
つ の 値 、 と い
う 6 つ の 数 字 が
書 か れ て い る
。
|
* |
|
nr_dentry は 割 り 当
て ら れ た dentry (dcache エ
ン ト リ ー ) の 数
で あ る 。 こ の
フ ィ ー ル ド は Linux
2.2 で は 使 用 さ れ
な い 。 |
|
* |
|
nr_unused は 未 使 用
の dentry 数 で あ る
。 |
|
* |
|
age_limit は 、 メ モ
リ ー が 不 足 し
て い る 場 合 に
次 に dcache entry を 再 要
求 で き る よ う
に な る ま で の
残 り 時 間 (秒 数 )
で あ る 。 |
|
* |
|
want_pages は 、 カ ー
ネ ル が shrink_dcache_pages() を
呼 び 出 し た が dcache
が ま だ 縮 小 さ
れ て い な い 場
合 に 、 0 以 外 の
値 と な る 。 |
/proc/sys/fs/dir−notify−enable
こ の フ ァ イ ル
は fcntl(2) に 記 述 さ
れ て い る dnotify イ
ン タ ー フ ェ ー
ス を シ ス テ ム
全 体 で 無 効 に
し た り 有 効 に
し た り す る 。
こ の フ ァ イ ル
に 値 0 が 書 か れ
て い る 場 合 は
イ ン タ ー フ ェ
ー ス が 無 効 に
な り 、 値 1 の 場
合 は 有 効 に な
る 。
/proc/sys/fs/dquot−max こ の フ
ァ イ ル に は キ
ャ ッ シ ュ さ れ
る デ ィ ス ク quota エ
ン ト リ ー の 最
大 数 が 書 か れ
て い る 。 (2.4 系 の )
シ ス テ ム の 中
に は 、 こ の フ
ァ イ ル が 存 在
し な い も の も
あ る 。 キ ャ ッ
シ ュ さ れ る デ
ィ ス ク quota エ ン ト
リ ー の 空 き が
非 常 に 少 な く
、 と て も 多 く
の シ ス テ ム ユ
ー ザ ー が 同 時
に 存 在 す る 場
合 、 こ の 制 限
を 上 げ る と い
い か も し れ な
い 。
/proc/sys/fs/dquot−nr こ の フ
ァ イ ル に は 割
り 当 て ら れ て
い る デ ィ ス ク quota
の エ ン ト リ ー
数 と 、 空 い て
い る デ ィ ス ク quota
の エ ン ト リ ー
数 が 書 か れ て
い る 。
/proc/sys/fs/epoll (Linux 2.6.28 以 降 )
こ の デ ィ レ ク
ト リ に は 、 フ
ァ イ ル max_user_watches が
あ る 。 こ れ ら
は 、 epoll イ ン タ
ー フ ェ ー ス が
消 費 す る カ ー
ネ ル メ モ リ ー
量 を 制 限 す る
の に 使 用 で き
る 。 詳 細 は epoll(7)
を 参 照 。
/proc/sys/fs/file−max こ の フ
ァ イ ル は 、 シ
ス テ ム 全 体 で
プ ロ セ ス が オ
ー プ ン で き る
フ ァ イ ル 数 の
上 限 を 定 義 す
る (setrlimit(2) も 参 照 ;
setrlimit(2) を 使 う と
、 オ ー プ ン で
き る フ ァ イ ル
数 の プ ロ セ ス
毎 の 上 限 RLIMIT_NOFILE
を 設 定 で き る
)。 フ ァ イ ル ハ
ン ド ル を 使 い
果 た し た と い
う エ ラ ー メ ッ
セ ー ジ ("VFS: file−max limit
<number> reached" を 探 す
と よ い ) が カ ー
ネ ル ロ グ に 大
量 に 出 る 場 合
は 、 以 下 の よ
う に こ の 値 を
増 加 さ せ て み
る と よ い 。
echo 100000
> /proc/sys/fs/file−max 特 権
プ ロ セ ス (CAP_SYS_ADMIN)
は file−max 上 限 を
上 書 き で き る
。
/proc/sys/fs/file−nr
This (read−only) file
contains three numbers: the number of allocated file handles
(i.e., the number of files presently opened); the number of
free file handles; and the maximum number of file handles
(i.e., the same value as
/proc/sys/fs/file−max). If the number of
allocated file handles is close to the maximum, you should
consider increasing the maximum. Before Linux 2.6, the
kernel allocated file handles dynamically, but it
didn’t free them again. Instead the free file handles
were kept in a list for reallocation; the "free file
handles" value indicates the size of that list. A large
number of free file handles indicates that there was a past
peak in the usage of open file handles. Since Linux 2.6, the
kernel does deallocate freed file handles, and the
"free file handles" value is always zero.
/proc/sys/fs/inode−max
(Linux 2.2 ま で に の み
存 在 ) こ の フ ァ
イ ル に は 、 メ
モ リ ー 内 inode の 最
大 値 が 書 か れ
て い る 。 こ の
値 は file−max の 値
の 3−4 倍 に す べ
き で あ る 。 こ
れ は stdin, stdout, ネ
ッ ト ワ ー ク ソ
ケ ッ ト を 扱 う
に も inode が 必 要 な
た め で あ る 。
日 常 的 に inode を 使
い 果 た し て い
る 場 合 は 、 こ
の 値 を 増 や す
必 要 が あ る 。
Linux 2.4
以 降 で は 、 inode 数
の 静 的 な 上 限
は な く な り 、
こ の フ ァ イ ル
は 削 除 さ れ た
。
/proc/sys/fs/inode−nr
こ の フ ァ イ ル
に は 、 inode−state の
最 初 の 2 つ の 値
が 書 か れ て い
る 。
/proc/sys/fs/inode−state こ の
フ ァ イ ル に は 7
つ の 数 字 が 入
っ て い る 。
nr_inodes, nr_free_inodes, preshrink
と 4 つ の ダ ミ ー
の 値 (常 に 0) で あ
る 。
nr_inodes
は シ ス テ ム が
割 り 当 て 済 み
の inode 数 で あ る 。
nr_free_inodes は 未 使 用
の inode 数 で あ る
。
preshrink
は 、 nr_inodes >
inode−max で 、 シ ス
テ ム が さ ら に inode
を 割 り 当 て る
の で は な く inode リ
ス ト を 刈 り 取
る (余 分 な も の
を 回 収 す る ) 必
要 が あ る 場 合
に 、 0 以 外 に な
る 。 Linux 2.4 以 降 で
は 、 こ の フ ィ
ー ル ド は ダ ミ
ー の 値 (常 に 0) で
あ る 。
/proc/sys/fs/inotify
(Linux 2.6.13 以 降 ) こ の デ
ィ レ ク ト リ に
は 、 フ ァ イ ル
max_queued_events, max_user_instances, and
max_user_watches が あ る 。
こ れ ら は 、 inotify
イ ン タ ー フ ェ
ー ス が 消 費 す
る カ ー ネ ル メ
モ リ ー 量 を 制
限 す る の に 利
用 で き る 。 詳
細 は inotify(7) を 参
照 。
/proc/sys/fs/lease−break−time こ
の フ ァ イ ル は
、 フ ァ イ ル を
保 持 し て い る
プ ロ セ ス に 対
し て カ ー ネ ル
が シ グ ナ ル を
送 り 、 他 の プ
ロ セ ス が そ の
フ ァ イ ル を オ
ー プ ン す る の
を 待 っ て い る
こ と を 通 知 し
て か ら 、 そ の
プ ロ セ ス に 対
し て カ ー ネ ル
が フ ァ イ ル の
リ ー ス (lease, 貸 し
出 し ) (fcntl(2) を 参
照 ) を 許 す 猶 予
期 間 を 指 定 す
る 。 リ ー ス ホ
ル ダ (lease holder: フ ァ イ
ル の 貸 し 出 し
を 受 け て い る
プ ロ セ ス ) が 猶
予 期 間 中 に リ
ー ス を 削 除 す
る か 階 級 を 低
く し な い 場 合
、 カ ー ネ ル は
フ ァ イ ル の リ
ー ス を 強 制 的
に 止 め る 。
/proc/sys/fs/leases−enable こ の
フ ァ イ ル は シ
ス テ ム 全 体 で
の フ ァ イ ル リ
ー ス (fcntl(2) を 参
照 ) を 有 効 ま た
は 無 効 に す る
。 フ ァ イ ル に
値 0 が 書 き 込 ま
れ て い る 場 合
、 リ ー ス は 無
効 で あ る 。 0 以
外 の 場 合 に は
リ ー ス は 有 効
で あ る 。
/proc/sys/fs/mqueue (Linux 2.6.6 以 降 )
こ の デ ィ レ ク
ト リ に は フ ァ
イ ル msg_max, msgsize_max, and
queues_max が あ る 。
こ れ ら は POSIX メ ッ
セ ー ジ キ ュ ー
で 使 用 さ れ る
リ ソ ー ス の 制
御 を 行 う 。 詳
細 は mq_overview(7) を 参
照 。
/proc/sys/fs/nr_open (Linux 2.6.25 以 降
)
This file imposes ceiling on
the value to which the RLIMIT_NOFILE resource limit
can be raised (see getrlimit(2)). This ceiling is
enforced for both unprivileged and privileged process. The
default value in this file is 1048576. (Before Linux 2.6.25,
the ceiling for RLIMIT_NOFILE was hard−coded to
the same value.)
/proc/sys/fs/overflowgid
と /proc/sys/fs/overflowuid こ れ
ら の フ ァ イ ル
に よ り 、 ユ ー
ザ ー は 固 定 UID と
固 定 GID の 値 を 変
更 で き る 。 デ
フ ォ ル ト は 65534 で
あ る 。 Linux の UID と GID
は 32 ビ ッ ト で あ
る が 、 16 ビ ッ ト
の UID と GID し か サ
ポ ー ト し な い
フ ァ イ ル シ ス
テ ム も あ る 。
こ の よ う な フ
ァ イ ル シ ス テ
ム が 書 き 込 み
を 許 可 し て マ
ウ ン ト さ れ た
場 合 、 65535 を 超 え
る UID と GID は 、 デ
ィ ス ク に 書 き
込 ま れ る 前 に
オ ー バ ー フ ロ
ー 値 に 変 換 さ
れ る 。
/proc/sys/fs/pipe−max−size (Linux 2.6.35
以 降 ) こ の フ ァ
イ ル の 値 に よ
り 、 fcntl(2) の
F_SETPIPE_SZ 操 作 で 増
や す こ と が で
き る パ イ プ 容
量 の 上 限 値 が
定 義 さ れ る 。
こ の 上 限 は 非
特 権 プ ロ セ ス
に の み 適 用 さ
れ る 。 こ の フ
ァ イ ル の デ フ
ォ ル ト 値 は 1,048,576
で あ る 。 こ の
フ ァ イ ル に 設
定 し た 値 は 切
り 上 げ ら れ て
、 実 装 側 で 利
用 す る の に 都
合 の よ い 値 に
変 更 さ れ る 場
合 が あ る 。 切
り 上 げ ら れ た
値 を 確 認 す る
に は 、 値 を 設
定 し た 後 で こ
の フ ァ イ ル の
内 容 を 表 示 す
れ ば よ い 。 こ
の フ ァ イ ル に
設 定 で き る 最
小 値 は シ ス テ
ム の ペ ー ジ サ
イ ズ で あ る 。
/proc/sys/fs/protected_hardlinks (Linux 3.6 以
降 ) こ の フ ァ イ
ル の 値 が 0 の 場
合 、 ハ ー ド リ
ン ク の 作 成 に
は 何 の 制 限 も
適 用 さ れ な い
(す な わ ち 、 Linux 3.6
よ り 前 の 伝 統
的 な 動 作 で あ
る )。 こ の フ ァ
イ ル の 値 が 1 の
場 合 、 以 下 の
条 件 の い ず れ
か 一 つ が 成 立
す る 場 合 に の
み 、 リ ン ク 先
の フ ァ イ ル へ
の ハ ー ド リ ン
ク が 作 成 で き
る 。
|
* 呼 び 出 し 元
が |
CAP_FOWNER ケ ー パ ビ
リ テ ィ を 持 っ
て い る 。
成 中 の
プ ロ セ ス の フ
ァ イ ル シ ス テ
ム UID が 、 リ ン ク
先 フ ァ イ ル の
所 有 者 (UID) と 一 致
す る (credentials(7) に 説
明 が あ る が 、
通 常 、 プ ロ セ
ス の フ ァ イ ル
シ ス テ ム UID は プ
ロ セ ス の 実 効 UID
と 同 じ で あ る
)。
*
以 下 の
条 件 が 全 て 成
立 す る 。
|
|
|
|
• リ ン ク 先 が
通 常 の フ ァ イ
ル で あ る 。 |
|
|
• リ ン ク 先 フ
ァ イ ル で |
|
set−user−ID
許 可 ビ ッ ト が
有 効 に な っ て
い な い 。
|
• リ ン
ク 先 フ ァ イ ル
で 、 許 可 ビ ッ
ト |
|
set−group−ID
と |
group−executable が
同 時 に 有 効 に
な っ て い な い
。
|
• 呼 び
出 し 元 は 、 リ
ン ク 先 フ ァ イ
ル の 読 み 出 し
、 書 き 込 み 許
可 を 持 っ て い
る |
(フ ァ イ
ル の 許 可 マ ス
ク で 許 可 さ れ
て い る か 、 適
切 な ケ ー パ ビ
リ テ ィ を 持 っ
て い る か は 問
わ な い )。
The default
value in this file is 0. Setting the value to 1 prevents a
longstanding class of security issues caused by
hard−link−based time−of−check,
time−of−use races, most commonly seen in
world−writable directories such as /tmp. The
common method of exploiting this flaw is to cross privilege
boundaries when following a given hard link (i.e., a root
process follows a hard link created by another user).
Additionally, on systems without separated partitions, this
stops unauthorized users from "pinning" vulnerable
set−user−ID and set−group−ID files
against being upgraded by the administrator, or linking to
special files.
/proc/sys/fs/protected_symlinks
(Linux 3.6 以 降 ) こ の フ
ァ イ ル の 値 が 0
の 場 合 、 以 下
の シ ン ボ リ ッ
ク リ ン ク を 辿
る 際 に 何 の 制
限 も 適 用 さ れ
な い (す な わ ち
、 Linux 3.6 よ り 前 の
伝 統 的 な 動 作
で あ る )。 こ の
フ ァ イ ル の 値
が 1 の 場 合 、 以
下 の 状 況 に お
い て の み シ ン
ボ リ ッ ク リ ン
ク が 辿 ら れ る
。
|
* そ の リ ン ク を
辿 っ て い る プ
ロ セ ス の フ ァ
イ ル シ ス テ ム |
|
UID が 、 シ |
ン ボ リ
ッ ク リ ン ク の
所 有 者 (UID) と 一 致
す る (credentials(7) に 説
明 が あ る が 、
通 常 、 プ ロ セ
ス の フ ァ イ ル
シ ス テ ム UID は プ
ロ セ ス の 実 効 UID
と 同 じ で あ る
)。
|
* そ の リ
ン ク が |
|
world−writable の
sticky ビ ッ ト が セ ッ
ト さ れ た |
デ ィ レ
ク ト リ で は な
い 。
|
* シ ン ボ
リ ッ ク リ ン ク
と そ の 親 デ ィ
レ ク ト リ が 同
じ 所 有 者
(UID) で あ |
る 。 シ
ス テ ム コ ー ル
が 上 記 の 制 約
に よ り シ ン ボ
リ ッ ク リ ン ク
を 辿 れ な か っ
た 場 合 は 、 errno
に エ ラ ー EACCES が
設 定 さ れ る 。
The default
value in this file is 0. Setting the value to 1 avoids a
longstanding class of security issues based on
time−of−check, time−of−use races
when accessing symbolic links.
/proc/sys/fs/suid_dumpable
(Linux 2.6.13 以 降 ) こ の フ
ァ イ ル の 値 に
よ り 、 set−user−ID さ
れ た バ イ ナ リ
や 、 保 護 が か
か っ た (protected) バ イ
ナ リ / tainted な (汚 染
さ れ た ; ラ イ セ
ン ス が カ ー ネ
ル と 適 合 し な
い ) バ イ ナ リ に
対 し て 、 コ ア
ダ ン プ フ ァ イ
ル を 生 成 す る
か ど う か が 決
定 さ れ る 。 以
下 の 3つ の 値 を
指 定 す る こ と
が で き る :
0 (default)
こ の 値 を 指 定
す る と 、 以 前
と 同 じ (Linux 2.6.13 よ り
前 の ) 動 作 を す
る 。 (seteuid(2), setgid(2)
な ど を 呼 び 出
す こ と や 、
set−user−ID や set−group−ID
さ れ た プ ロ グ
ラ ム を 実 行 す
る こ と で ) 資 格
情 報 (credentials) が 変 更
さ れ て い る プ
ロ セ ス や 、 プ
ロ セ ス の 実 行
バ イ ナ リ の 読
み 出 し 許 可 が
な い プ ロ セ ス
に 対 し て 、 コ
ア ダ ン プ を 生
成 し な い 。
1 ("debug") す べ て
の プ ロ セ ス で
、 可 能 で あ れ
ば コ ア ダ ン プ
を 行 う 。 コ ア
ダ ン プ フ ァ イ
ル の 所 有 者 は
、 ダ ン プ を 行
う プ ロ セ ス の
フ ァ イ ル シ ス
テ ム UID と な り 、
セ キ ュ リ テ ィ
上 の 考 慮 は 行
わ れ な い 。 こ
の 値 は 、 シ ス
テ ム デ バ ッ グ
の 場 面 だ け を
想 定 し て 設 け
ら れ て い る 。 ptrace
の チ ェ ッ ク も
行 わ れ な い 。
2 ("suidsafe") 通 常 は
ダ ン プ さ れ な
い よ う な バ イ
ナ リ (上 記 の "0"
参 照 ) を root だ け が
読 み 出 し 可 能
な 形 で ダ ン プ
す る 。 こ の 場
合 、 ユ ー ザ ー
は そ の コ ア ダ
ン プ フ ァ イ ル
を 削 除 す る こ
と は で き る が
、 読 む こ と は
で き な い 。 セ
キ ュ リ テ ィ 上
の 理 由 か ら 、
こ の モ ー ド の
コ ア ダ ン プ で
は 、 既 存 の ダ
ン プ フ ァ イ ル
や 他 の フ ァ イ
ル を 上 書 き す
る こ と は な い
。 こ の モ ー ド
は 、 管 理 者 が
通 常 の 環 境 で
問 題 を 解 析 し
よ う と す る 際
に 適 し て い る
。 さ ら に 、 Linux 3.6
以 降 で は 、
/proc/sys/kernel/core_pattern は 絶
対 パ ス 名 か パ
イ プ コ マ ン ド
で な け れ ば な
ら な い 。 core(5) に
詳 し い 説 明 が
あ る 。 core_pattern が
こ れ ら の ル ー
ル に 合 致 し な
い 場 合 は 、 警
告 が カ ー ネ ル
ロ グ に 書 き 込
ま れ 、 コ ア ダ
ン プ は 生 成 さ
れ な い 。 こ の
フ ァ イ ル は ス
ー パ ブ ロ ッ ク
の 値 を 制 御 す
る 。 こ の 値 は
カ ー ネ ル が マ
ウ ン ト で き る
フ ァ イ ル シ ス
テ ム の 最 大 値
に な る 。 現 在
、 super−max で 許 可
さ れ て い る フ
ァ イ ル シ ス テ
ム 数 以 上 に マ
ウ ン ト す る 必
要 が あ る 場 合
は 、 こ の 値 を
増 加 さ せ る だ
け で よ い 。
/proc/sys/fs/super−nr
こ の フ ァ イ ル
に は 現 在 マ ウ
ン ト さ れ て い
る フ ァ イ ル シ
ス テ ム 数 が 書
か れ て い る 。
/proc/sys/kernel こ の デ ィ
レ ク ト リ に は
、 以 下 で 説 明
す る 様 々 な カ
ー ネ ル パ ラ メ
ー タ ー を 制 御
す る た め の フ
ァ イ ル が 配 置
さ れ て い る 。
/proc/sys/kernel/acct こ の フ
ァ イ ル に は 3 つ
の 値 が 含 ま れ
て い る : highwater,
lowwater, frequency で あ る
。 BSD−style process accounting が
有 効 に な っ て
い る 場 合 、 こ
れ ら 3 つ の 値 が
動 作 を 制 御 す
る 。 ロ グ フ ァ
イ ル の あ る フ
ァ イ ル シ ス テ
ム の 空 き 領 域
が lowwater パ ー セ ン
ト 以 下 に な っ
た 場 合 は 、 ロ
グ 記 録 を 一 時
停 止 す る 。 空
き 領 域 が highwater
パ ー セ ン ト 以
上 に な っ た 場
合 に 、 ロ グ 記
録 を 再 開 す る
。 frequency は カ ー
ネ ル が 空 き 領
域 の チ ェ ッ ク
を す る 頻 度 で
あ る (単 位 は 秒
)。 デ フ ォ ル ト
の 値 は 、 4, 2, 30 で
あ る 。 つ ま り
、 空 き 領 域 が 2%
以 下 に な る と
ロ グ 記 録 を 一
時 停 止 し 、 空
き 領 域 が 4% 以 上
と な っ た と き
に 再 開 す る 。
空 き 領 域 に つ
い て の 情 報 は 30
秒 間 有 効 で あ
る 点 に 注 意 す
る こ と 。
/proc/sys/kernel/cap_last_cap (Linux 3.2 以
降 )
capabilities(7) 参
照 。
/proc/sys/kernel/cap−bound
(Linux 2.2 to 2.6.24 以 降 )
/proc/sys/kernel/cap−bound
こ の フ ァ イ ル
に は カ ー ネ ル
の capability bounding set (符 号
付 き 10 進 数 表 現 )
の 値 が 書 か れ
て い る 。 execve(2)
中 は 、 こ の セ
ッ ト と プ ロ セ
ス に 許 可 さ れ
て い る 権 限 の AND
が と ら れ る 。 Linux
2.6.25 以 降 で は 、 シ
ス テ ム 全 体 の
ケ ー パ ビ リ テ
ィ バ ウ ン デ ィ
ン グ セ ッ ト は
な く な り 、 ス
レ ッ ド 単 位 の
バ ウ ン デ ィ ン
グ セ ッ ト に 置
き 換 え ら れ た
。 capabilities(7) を 参 照
。
/proc/sys/kernel/core_pattern
core(5) 参
照 。
/proc/sys/kernel/core_uses_pid
core(5) 参
照 。
/proc/sys/kernel/ctrl−alt−del
こ の フ ァ イ ル
は キ ー ボ ー ド
の Ctrl−Alt−Del の 扱 い
を 制 御 す る 。
こ の フ ァ イ ル
に あ る 値 が 0 の
場 合 、 Ctrl−Alt−Del が
捕 捉 さ れ る と
init(1) プ ロ グ ラ ム
に 送 ら れ て 、
正 し く 再 起 動
さ れ る 。 値 が 0
よ り 大 き い 場
合 、 Vulcan Nerve Pinch (tm) に 反
応 し て 、 Linux は ダ
ー テ ィ バ ッ フ
ァ ー を 同 期 さ
せ る こ と な く
、 す ぐ に 再 起
動 を 行 う 。 注
意 : プ ロ グ ラ ム
(dosemu な ど ) に "raw"
モ ー ド の キ ー
ボ ー ド が あ る
場 合 、 ctrl−alt−del は
カ ー ネ ル の tty レ
イ ヤ ー に 到 達
す る 前 に プ ロ
グ ラ ム に 遮 断
さ れ 、 プ ロ グ
ラ ム に 送 ら れ
て ど の よ う に
扱 う か が 決 め
ら れ る 。
/proc/sys/kernel/dmesg_restrict (Linux 2.6.37 以
降 ) こ の フ ァ イ
ル の 値 に よ り
誰 が カ ー ネ ル syslog
の 内 容 を 参 照
で き る か が 決
定 さ れ る 。 こ
の フ ァ イ ル の
値 が 0 で あ れ ば
、 制 限 は な く
な る 。 値 が 1 で
あ れ ば 、 特 権
ユ ー ザ ー だ け
が カ ー ネ ル syslog を
読 み 出 す こ と
が で き る (詳 細
は syslog(2) を 参 照
)。 Linux 3.4 以 降 で は
CAP_SYS_ADMIN ケ ー パ ビ
リ テ ィ を 持 っ
た ユ ー ザ ー だ
け が こ の フ ァ
イ ル の 値 を 変
更 で き る 。
/proc/sys/kernel/domainname と
/proc/sys/kernel/hostname こ れ ら
の フ ァ イ ル は
、 コ マ ン ド
domainname(1), hostname(1) と 全
く 同 じ 方 法 で
、 マ シ ン の NIS/YP ド
メ イ ン 名 と ホ
ス ト 名 の 設 定
に 使 え る 。 す
な わ ち
# echo
'darkstar' > /proc/sys/kernel/hostname
# echo 'mydomain' > /proc/sys/kernel/domainname
は 、 以 下 と 同
じ 効 果 が あ る
。
# hostname
'darkstar'
# domainname 'mydomain' 注 意 : 典
型 的 な darkstar.frop.org と
い う 名 前 に は
、 ホ ス ト 名
"darkstar" と DNS (Internet Domain Name
Server) ド メ イ ン 名
"frop.org" が 含 ま れ
て い る が 、 DNS ド
メ イ ン 名 と NIS (Network
Information Service) ま た は YP (Yellow
Pages) の ド メ イ ン 名
を 混 同 し て は
な ら な い 。 一
般 に こ れ ら 2 つ
の ド メ イ ン 名
は 異 な る 。 詳
細 な 議 論 は 、
hostname(1) の man ペ ー ジ
を 参 照 す る こ
と 。
/proc/sys/kernel/hotplug
こ の フ ァ イ ル
は ホ ッ ト プ ラ
グ ポ リ シ ー エ
ー ジ ェ ン ト の
パ ス が 書 か れ
て い る 。 こ の
フ ァ イ ル の デ
フ ォ ル ト 値 は
/sbin/hotplug で あ る 。
/proc/sys/kernel/htab−reclaim
(PowerPC の み )
こ の フ ァ イ ル
を 0 以 外 の 値 に
設 定 す る と 、
PowerPC htab (カ ー ネ ル ソ
ー ス フ ァ イ ル
Documentation/powerpc/ppc_htab.txt 参 照
) を 、 シ ス テ ム
が ア イ ド ル ル
ー プ に な る た
び に 切 り 詰 め
る 。
/proc/sys/kernel/kptr_restrict
(Linux 2.6.38 以 降 )
The value in this file
determines whether kernel addresses are exposed via
/proc files and other interfaces. A value of 0 in
this file imposes no restrictions. If the value is 1, kernel
pointers printed using the %pK format specifier will
be replaced with zeros unless the user has the
CAP_SYSLOG capability. If the value is 2, kernel
pointers printed using the %pK format specifier will
be replaced with zeros regardless of the user’s
capabilities. The initial default value for this file was 1,
but the default was changed to 0 in Linux 2.6.39. Since
Linux 3.4, only users with the CAP_SYS_ADMIN
capability can change the value in this file.
/proc/sys/kernel/l2cr
(PowerPC の み )
こ の フ ァ イ ル
に は G3 プ ロ セ ッ
サ ボ ー ド の L2 キ
ャ ッ シ ュ を 制
御 す る フ ラ グ
が 含 ま れ る 。 0
の 場 合 、 キ ャ
ッ シ ュ は 無 効
に な る 。 0 以 外
の 場 合 は 有 効
に な る 。
/proc/sys/kernel/modprobe
こ の フ ァ イ ル
に は 、 カ ー ネ
ル モ ジ ュ ー ル
ロ ー ダ ー へ の
パ ス が 含 ま れ
る 。 デ フ ォ ル
ト の 値 は /sbin/modprobe
で あ る 。 こ の
フ ァ イ ル は 、
CONFIG_MODULES オ プ シ ョ
ン (Linux 2.6.26 以 前 で は
CONFIG_KMOD) を 有 効 に
し て カ ー ネ ル
が 作 成 さ れ て
い る 場 合 に の
み 存 在 す る 。
こ の フ ァ イ ル
に つ い て は 、 Linux
カ ー ネ ル ソ ー
ス フ ァ イ ル
Documentation/kmod.txt (カ ー ネ
ル 2.4 以 前 の み に
存 在 ) に 記 述 さ
れ て い る 。
/proc/sys/kernel/modules_disabled (Linux 2.6.31 以
降 ) 他 の モ ジ ュ
ー ル が 有 効 に
な っ た カ ー ネ
ル へ の モ ジ ュ
ー ル の ロ ー ド
が 許 可 さ れ る
か を 示 す オ ン
・ オ フ 値 で あ
る 。 デ フ ォ ル
ト 値 は オ フ (0) だ
が 、 オ ン (1) に 設
定 す る こ と が
で き る 。 一 度
オ ン に す る と
、 モ ジ ュ ー ル
を ロ ー ド す る
こ と も ア ン ロ
ー ド す る こ と
も で き な く な
り 、 こ の 値 を
オ フ に 戻 す こ
と も で き な い
。 こ の フ ァ イ
ル が 存 在 す る
の は 、 カ ー ネ
ル が CONFIG_MODULES オ プ
シ ョ ン を 有 効
に し て コ ン パ
イ ル さ れ て い
る 場 合 だ け で
あ る 。
/proc/sys/kernel/msgmax (Linux 2.2 以 降 )
こ の フ ァ イ ル
は 、 System V メ ッ セ
ー ジ キ ュ ー に
書 き 込 ま れ る 1
つ の メ ッ セ ー
ジ の 最 大 バ イ
ト 数 を 、 シ ス
テ ム 全 体 で 制
限 す る 。
/proc/sys/kernel/msgmni (Linux 2.4 以 降 )
こ の フ ァ イ ル
は メ ッ セ ー ジ
キ ュ ー 識 別 子
の 最 大 数 を シ
ス テ ム 全 体 で
制 限 す る 。
/proc/sys/kernel/msgmnb (Linux 2.2 以 降 )
こ の フ ァ イ ル
は 、 msg_qbytes の 設
定 を 初 期 化 す
る シ ス テ ム 全
体 の パ ラ メ ー
タ ー で あ る 。
msg_qbytes は 以 降 で
作 成 さ れ る メ
ッ セ ー ジ キ ュ
ー で 使 わ れ る
。 msg_qbytes 設 定 で
は 、 メ ッ セ ー
ジ キ ュ ー に 書
き 込 ま れ る 最
大 バ イ ト 数 を
指 定 す る 。
/proc/sys/kernel/ngroups_max (Linux 2.6.4 以
降 ) こ の フ ァ イ
ル は 、 プ ロ セ
ス グ ル ー プ の
メ ン バ ー 数 の
上 限 値 を 表 示
す る 読 み 出 し
専 用 の フ ァ イ
ル で あ る 。
/proc/sys/kernel/ostype と
/proc/sys/kernel/osrelease こ れ ら
の フ ァ イ ル は
文 字 列 /proc/version の
各 部 分 を 与 え
る 。
/proc/sys/kernel/overflowgid と
/proc/sys/kernel/overflowuid こ れ
ら の フ ァ イ ル
は /proc/sys/fs/overflowgid と
/proc/sys/fs/overflowuid を 複 製
し た も の で あ
る 。
/proc/sys/kernel/panic こ の フ
ァ イ ル は カ ー
ネ ル 変 数 panic_timeout
へ の 読 み 出 し
と 書 き 込 み の
ア ク セ ス を 与
え る 。 こ の 値
が 0 な ら ば 、 パ
ニ ッ ク 時 に カ
ー ネ ル は (無 限 )
ル ー プ に 入 る
。 0 で な け れ ば
、 そ の 秒 数 だ
け 待 っ て か ら
自 動 的 に 再 起
動 す る 。 ソ フ
ト ウ ェ ア watchdog ド
ラ イ バ を 使 っ
て い る 場 合 、
推 奨 さ れ る 設
定 は 60 で あ る 。
/proc/sys/kernel/panic_on_oops (Linux 2.5.68 以
降 ) こ の フ ァ イ
ル は 、 oops や BUG が
起 こ っ た 場 合
の カ ー ネ ル の
動 作 を 制 御 す
る 。 フ ァ イ ル
に 0 が 書 か れ て
い る 場 合 、 シ
ス テ ム は 操 作
を 続 行 し よ う
と す る 。 1 が 書
か れ て い る 場
合 、 シ ス テ ム
は (klogd が oops 出 力 を
記 録 す る 時 間
を 与 え る た め
に ) 数 秒 間 遅 延
し た 後 、 panic を 起
こ す 。 /proc/sys/kernel/panic
フ ァ イ ル も 0 で
な い 場 合 、 マ
シ ン は 再 起 動
さ れ る 。
/proc/sys/kernel/pid_max (Linux 2.5.34 以 降
) こ の フ ァ イ ル
は 、 PID を い く つ
で 終 了 に す る
か を 指 定 す る
(す な わ ち 、 こ
の フ ァ イ ル の
値 は 最 大 PID よ り 1
大 き い )。 こ の
値 よ り 大 き な PID
値 は 割 り 当 て
ら れ な い 。 し
た が っ て 、 こ
の フ ァ イ ル の
値 は プ ロ セ ス
や ス レ ッ ド の
全 体 数 の シ ス
テ ム 全 体 で の
上 限 と し て も
機 能 す る 。 こ
の フ ァ イ ル の
デ フ ォ ル ト 値
は 32768 で あ り 、 そ
の 場 合 に は 以
前 の カ ー ネ ル
と 同 じ PID の 範 囲
に な る 。 32ビ ッ
ト の プ ラ ッ ト
フ ォ ー ム で は
、 pid_max の 最 大 値
は 32768 で あ る 。
64ビ ッ ト の プ ラ
ッ ト フ ォ ー ム
で は 、 2^22 (PID_MAX_LIMIT,
約 4,000,000) ま で の 任
意 の 値 を 設 定
で き る 。
/proc/sys/kernel/powersave−nap (PowerPC の
み ) こ の フ ァ イ
ル に は フ ラ グ
が 書 か れ て い
る 。 フ ラ グ が
設 定 さ れ る と
、 Linux−PPC は 省 電 力
の "nap" モ ー ド を
使 う 。 設 定 さ
れ な い 場 合 は
、 "doze" モ ー ド
が 使 わ れ る 。
/proc/sys/kernel/printk
syslog(2) 参
照 。
/proc/sys/kernel/pty
(Linux 2.6.4 以 降 ) こ の デ
ィ レ ク ト リ は
、 UNIX 98 疑 似 端 末
(pts(4) を 参 照 ) の
数 に 関 連 す る 2
つ の フ ァ イ ル
を 含 む 。
/proc/sys/kernel/pty/max こ の フ
ァ イ ル は 疑 似
端 末 の 最 大 数
を 定 義 す る 。
/proc/sys/kernel/pty/nr こ の 読
み 出 し 専 用 の
フ ァ イ ル は 、
現 在 い く つ の
疑 似 端 末 が 使
わ れ て い る か
を 表 す 。
/proc/sys/kernel/random こ の デ
ィ レ ク ト リ は
、 フ ァ イ ル
/dev/random の 操 作 を
制 御 す る 様 々
な パ ラ メ ー タ
ー が 書 か れ て
い る 。 詳 細 は
random(4) を 参 照 。
/proc/sys/kernel/random/uuid (Linux 2.4 以
降 ) こ の 読 み 出
し 専 用 の フ ァ
イ ル か ら 読 み
出 し を 行 う ご
と に 、 ラ ン ダ
ム に 生 成 し た 128
ビ ッ ト の UUID を 、
標 準 の UUID 形 式 の
文 字 列 と し て
返 す 。
/proc/sys/kernel/real−root−dev こ
の フ ァ イ ル は Linux
カ ー ネ ル ソ ー
ス フ ァ イ ル
Documentation/initrd.txt に 記 述
さ れ て い る 。
/proc/sys/kernel/reboot−cmd (Sparc の
み ) こ の フ ァ イ
ル は SPARC ROM/Flash ブ ー ト
ロ ー ダ ー に 引
き 数 を 渡 す 方
法 を 提 供 し て
い る よ う に 思
わ れ る 。 再 起
動 後 に 何 を す
る か を 指 定 し
て い る の だ ろ
う か ?
/proc/sys/kernel/rtsig−max
(2.6.7 ま で
の カ ー ネ ル に
の み 存 在 す る
。 setrlimit(2) を 参 照
す る こ と ) こ の
フ ァ イ ル は シ
ス テ ム で 発 行
さ れ る POSIX real−time (queued)
signal の 最 大 数 を 調
整 す る の に 使
用 さ れ る 。
/proc/sys/kernel/rtsig−nr
(2.6.7 ま で
の カ ー ネ ル に
の み 存 在 す る )
こ の フ ァ イ ル
は 現 在 キ ュ ー
に 入 っ て い る POSIX
real−time signal の 数 を 表
す 。
/proc/sys/kernel/sched_rr_timeslice_ms
(Linux 3.9 以 降 )
sched_rr_get_interval(2)
参 照 。
/proc/sys/kernel/sched_rt_period_us
(Linux 2.6.25 以 降 )
sched(7) 参
照 。
/proc/sys/kernel/sched_rt_runtime_us
(Linux 2.6.25 以 降 )
sched(7) 参
照 。
/proc/sys/kernel/sem
(Linux 2.4 以 降 ) こ の フ
ァ イ ル に は System V IPC
セ マ フ ォ を 制
限 す る 4 つ の 値
が 書 か れ て い
る 。 こ れ ら の
フ ィ ー ル ド は
次 の 順 番 に 並
ん で い る :
|
SEMMSL セ マ フ ォ 集
合 ご と の セ マ
フ ォ 数 の 最 大
値 。 |
|
SEMMNS シ ス テ ム 全
体 で の 、 全 て
の セ マ フ ォ 集
合 に お け る セ
マ フ ォ 数 の 制
限 。 |
|
SEMOPM |
semop(2)
コ ー ル に 指 定
さ れ る オ ペ レ
ー シ ョ ン 数 の
最 大 値 。
|
SEMMNI シ ス
テ ム 全 体 で の
セ マ フ ォ 識 別
子 の 最 大 値 。 |
|
/proc/sys/kernel/sg−big−buff
こ の フ ァ イ ル
は 、 汎 用 SCSI デ バ
イ ス (sg) の バ ッ フ
ァ ー サ イ ズ の
最 大 値 を 表 す
。 今 は こ れ を
変 更 す る こ と
は で き な い が
、 コ ン パ イ ル
時 に include/scsi/sg.h を 編
集 し て SG_BIG_BUFF の
値 を 変 え れ ば
変 更 で き る 。
た だ し 、 こ の
値 を 変 更 す る
理 由 は な い だ
ろ う 。
/proc/sys/kernel/shm_rmid_forced (Linux 3.1 以
降 )
If this file is set to 1, all
System V shared memory segments will be marked for
destruction as soon as the number of attached processes
falls to zero; in other words, it is no longer possible to
create shared memory segments that exist independently of
any attached process.
The effect is
as though a shmctl(2) IPC_RMID is performed on
all existing segments as well as all segments created in the
future (until this file is reset to 0). Note that existing
segments that are attached to no process will be immediately
destroyed when this file is set to 1. Setting this option
will also destroy segments that were created, but never
attached, upon termination of the process that created the
segment with shmget(2).
Setting this
file to 1 provides a way of ensuring that all System V
shared memory segments are counted against the resource
usage and resource limits (see the description of
RLIMIT_AS in getrlimit(2)) of at least one
process.
Because setting
this file to 1 produces behavior that is nonstandard and
could also break existing applications, the default value in
this file is 0. Only set this file to 1 if you have a good
understanding of the semantics of the applications using
System V shared memory on your system.
/proc/sys/kernel/shmall
(Linux 2.2 以 降 ) こ の フ
ァ イ ル に は System V
共 有 メ モ リ ー
の 総 ペ ー ジ 数
の シ ス テ ム 全
体 で の 制 限 が
書 か れ て い る
。
/proc/sys/kernel/shmmax (Linux 2.2 以 降 )
こ の フ ァ イ ル
を 通 じ て 、 (System V IPC)
共 有 メ モ リ ー
セ グ メ ン ト を
作 成 す る と き
の 最 大 サ イ ズ
の 実 行 時 上 限
(run−time limit) を 取 得 ま
た は 設 定 で き
る 。 現 在 は 1GB ま
で の 共 有 メ モ
リ ー セ グ メ ン
ト が カ ー ネ ル
で サ ポ ー ト さ
れ て い る 。 こ
の 値 の デ フ ォ
ル ト は SHMMAX で あ
る 。
/proc/sys/kernel/shmmni (Linux 2.4 以 降 )
こ の フ ァ イ ル
は 、 シ ス テ ム
全 体 で 作 成 可
能 な System V 共 有 メ
モ リ ー セ グ メ
ン ト 数 を 指 定
す る 。
/proc/sys/kernel/sysrq こ の フ
ァ イ ル は 、 SysRq キ
ー に よ り 起 動
が 許 可 さ れ て
い る 関 数 群 を
制 御 す る も の
で あ る 。 デ フ
ォ ル ト で は 、
フ ァ イ ル の 内
容 は 1 で あ り 、
こ れ は 起 こ り
得 る 全 て の SysRq リ
ク エ ス ト が 許
可 さ れ る こ と
を 意 味 す る (古
い バ ー ジ ョ ン
の カ ー ネ ル で
は 、 SysRq は デ フ ォ
ル ト で は 無 効
に な っ て お り
、 実 行 時 に 明
示 的 に 有 効 に
す る 必 要 が あ
っ た が 、 今 は
そ う で は な い
)。 こ の フ ァ イ
ル で 指 定 可 能
な 値 は 以 下 の
通 り 。
0 − sysrq
を 完 全 に 無 効
に す る
1 − sysrq の 全 て の 関
数 を 有 効 に す
る >1 − 許 可 す る
sysrq 関 数 の ビ ッ ト
マ ス ク 。 内 訳
は 以 下 の 通 り
。
2 − コ ン ソ ー ル
の ロ グ レ ベ ル
の 制 御 を 有 効
に す る
4 − キ ー ボ ー ド
の 制 御 を 有 効
に す る (SAK, unraw)
8 − プ ロ セ ス な
ど の デ バ ッ グ
ダ ン プ を 有 効
に す る
16 − sync コ マ ン ド を
有 効 に す る
32 − 読 み 出 し 専
用 で の 再 マ ウ
ン ト を 有 効 に
す る
64 − プ ロ セ ス へ
の シ グ ナ ル 発
行 を 有 効 に す
る (term, kill, oom−kill)
128 − リ ブ ー ト /電
源 オ フ を 許 可
す る
256 − 全 て の リ ア
ル タ イ ム タ ス
ク の nice 値 の 変 更
を 許 可 す る カ
ー ネ ル 設 定 オ
プ シ ョ ン
CONFIG_MAGIC_SYSRQ が 有 効
な 場 合 の み 、
こ の フ ァ イ ル
は 存 在 す る 。
詳 細 は 、 Linux カ ー
ネ ル ソ ー ス フ
ァ イ ル Documentation/sysrq.txt
を 参 照 の こ と
。
/proc/sys/kernel/version
こ の フ ァ イ ル
に は 、 以 下 の
よ う な 文 字 列
が 書 か れ て い
る :
#5 Wed Feb 25
21:49:24 MET 1998
"#5"
は こ の ソ ー ス
で 構 築 さ れ た 5
番 目 の カ ー ネ
ル で あ る こ と
を 意 味 す る 。
そ の 後 に あ る
日 付 は カ ー ネ
ル が 構 築 さ れ
た 時 刻 を 表 す
。
/proc/sys/kernel/threads−max
(Linux 2.3.11 以 降 ) こ の フ
ァ イ ル は 、 シ
ス テ ム 全 体 で
作 成 可 能 な ス
レ ッ ド 数 (タ ス
ク 数 ) の 上 限 を
指 定 す る 。
/proc/sys/kernel/zero−paged (PowerPC の
み ) こ の フ ァ イ
ル は フ ラ グ を
含 む 。 (0 以 外 の
値 で ) 有 効 さ れ
た 場 合 、 Linux−PPC は
ア イ ド ル ル ー
プ で pre−zero page を 行
う の で 、 get_free_pages の
速 度 が 向 上 す
る 可 能 性 が あ
る 。
/proc/sys/net こ の デ ィ
レ ク ト リ に は
ネ ッ ト ワ ー ク
関 係 の 情 報 が
入 っ て い る 。
こ の デ ィ レ ク
ト リ に あ る フ
ァ イ ル の い く
つ か に つ い て
は 、 tcp(7) や ip(7)
に 説 明 が あ る
。
/proc/sys/net/core/somaxconn こ の フ
ァ イ ル は listen(2)
の backlog 引 き 数 の
上 限 値 を 規 定
す る 。 詳 細 は
listen(2) の マ ニ ュ
ア ル ペ ー ジ を
参 照 。
/proc/sys/proc こ の デ ィ
レ ク ト リ は 空
の 場 合 も あ る
。
/proc/sys/sunrpc こ の デ ィ
レ ク ト リ は ネ
ッ ト ワ ー ク フ
ァ イ ル シ ス テ
ム (NFS) へ の Sun remote procedure call
(遠 隔 手 続 き 呼
び 出 し ) を サ ポ
ー ト す る 。 こ
れ が 存 在 し な
い シ ス テ ム も
あ る 。
/proc/sys/vm こ の デ ィ
レ ク ト リ に は
メ モ リ ー 管 理
の 調 整 、 バ ッ
フ ァ ー や キ ャ
ッ シ ュ 管 理 の
た め の フ ァ イ
ル が あ る 。
/proc/sys/vm/compact_memory (Linux 2.6.35 以
降 )
When 1 is written to this file,
all zones are compacted such that free memory is available
in contiguous blocks where possible. The effect of this
action can be seen by examining /proc/buddyinfo.
カ ー ネ ル の 設
定 で CONFIG_COMPACTION が 有
効 に な っ て い
る 場 合 に の み
存 在 す る 。
/proc/sys/vm/drop_caches
(Linux 2.6.16 以 降 ) こ の フ
ァ イ ル に 書 き
込 み を 行 う と
、 カ ー ネ ル に
、 ク リ ー ン な
キ ャ ッ シ ュ 、
dentry、 inode を メ モ リ
ー か ら 追 い 出
し て 、 メ モ リ
ー を 解 放 さ せ
る こ と が で き
る 。 こ の 機 能
は メ モ リ ー 管
理 の テ ス ト や
再 現 可 能 な フ
ァ イ ル シ ス テ
ム の ベ ン チ マ
ー ク を 行 う の
に 役 立 つ 。 こ
の フ ァ イ ル へ
の 書 き 込 み は
キ ャ ッ シ ュ の
利 点 を 失 う こ
と に な る の で
、 シ ス テ ム 全
体 の 性 能 は 低
下 す る 可 能 性
が あ る 。 ペ ー
ジ キ ャ ッ シ ュ
を 解 放 す る に
は 、 以 下 の よ
う に す る 。
echo 1 >
/proc/sys/vm/drop_caches
dentry と
inode を 解 放 す る に
は 、 以 下 の よ
う に す る 。
echo 2 >
/proc/sys/vm/drop_caches ペ ー ジ キ
ャ ッ シ ュ 、 dentry、
inode を 解 放 す る に
は 、 以 下 の よ
う に す る 。
echo 3 >
/proc/sys/vm/drop_caches こ の フ ァ
イ ル へ の 書 き
込 み は 非 破 壊
的 な 操 作 で 、
ダ ー テ ィ な (dirty)
オ ブ ジ ェ ク ト
は 解 放 さ れ な
い の で 、 こ の
操 作 を 行 う 際
は 最 初 に sync(1) を
実 行 し て お く
べ き で あ る 。
/proc/sys/vm/legacy_va_layout
(Linux 2.6.9 以 降 )
0 以 外 の
場 合 、 新 し い
32ビ ッ ト メ モ リ
ー マ ッ ピ ン グ
配 置 が 無 効 に
な り 、 カ ー ネ
ル は 全 て の プ
ロ セ ス に 対 し
て 従 来 の (カ ー
ネ ル 2.4 の ) 配 置 方
法 を 使 用 す る
。
/proc/sys/vm/memory_failure_early_kill
(Linux 2.6.32 以 降 ) こ の フ
ァ イ ル は 、 カ
ー ネ ル が 処 理
で き な い 訂 正
不 能 な メ モ リ
ー エ ラ ー (通 常
は メ モ リ ー モ
ジ ュ ー ル で の 2
ビ ッ ト エ ラ ー )
が バ ッ ク グ ラ
ウ ン ド で ハ ー
ド ウ ェ ア に よ
り 検 出 さ れ た
際 に 、 プ ロ セ
ス を ど の よ う
に kill す る か を 制
御 す る 。 (ペ ー
ジ の 有 効 な コ
ピ ー が デ ィ ス
ク 上 に も 存 在
す る な ど ) い く
つ か の 場 面 で
は 、 カ ー ネ ル
は ア プ リ ケ ー
シ ョ ン に 影 響
を 与 え ず に 透
過 的 に 故 障 を
処 理 す る 。 し
か し 、 デ ー タ
の 最 新 の コ ピ
ー が 他 に は な
い 場 合 に は 、
デ ー タ 破 壊 が
波 及 す る の を
防 ぐ た め 、 カ
ー ネ ル は プ ロ
セ ス を kill す る 。
こ の フ ァ イ ル
は 以 下 の い ず
れ か の 値 を 持
つ 。
|
1: デ ー タ 破 壊 が
検 出 さ れ る と
す ぐ に 、 故 障
が 検 出 さ れ 復
元 で き な い ペ
ー ジ |
(corrupted−and−not−reloadable
page) を マ ッ プ し て
い る 全 て の プ
ロ セ ス を kill す る
。 こ の 機 能 は
、 (カ ー ネ ル 内
部 で 割 り 当 て
ら れ た デ ー タ
や ス ワ ッ プ の
キ ャ ッ シ ュ な
ど ) 少 数 の い く
つ か の タ イ プ
の ペ ー ジ で は
サ ポ ー ト さ れ
て い な い が 、
大 半 の ユ ー ザ
ー ペ ー ジ で は
こ の 機 能 は 働
く 。
|
0: デ ー タ
破 壊 が 検 出 さ
れ た ペ ー ジ の
全 て の プ ロ セ
ス か ら の
unmap の |
み を 行
い 、 そ の ペ ー
ジ に ア ク セ ス
し よ う と し た
プ ロ セ ス の み
を kill す る 。 こ の
kill は si_code に BUS_MCEERR_AO
を 設 定 し た SIGBUS
シ グ ナ ル を 使
っ て 行 わ れ る
。 プ ロ セ ス 側
で は 必 要 で あ
れ ば こ の シ グ
ナ ル を 処 理 す
る こ と が で き
る 。 詳 細 は
sigaction(2) を 参 照 。
こ の 機 能 は 、
高 度 な マ シ ン
チ ェ ッ ク 機 構
を 持 っ た ア ー
キ テ ク チ ャ ー
/プ ラ ッ ト フ ォ
ー ム に お い て
の み 有 効 で あ
り 、 ハ ー ド ウ
ェ ア 機 能 に も
依 存 し て い る
。 ア プ リ ケ ー
シ ョ ン は prctl(2) の
PR_MCE_KILL 操 作 を 使
っ て 個 別 に
memory_failure_early_kill の 設 定
を 上 書 き す る
こ と が で き る
。 カ ー ネ ル の
設 定 で CONFIG_MEMORY_FAILURE
が 有 効 に な っ
て い る 場 合 に
の み 存 在 す る
。
/proc/sys/vm/memory_failure_recovery
(Linux 2.6.32 以 降 ) メ モ リ
ー 故 障 回 復 (memory failure
recovery) を 有 効 に す
る
(プ ラ ッ
ト フ ォ ー ム が
サ ポ ー ト し て
い る 場 合 )
|
1: 回 復 を 試 み る
。 |
|
|
|
|
0: メ モ リ ー 故 障
時 に は 常 に |
|
panic を 起 こ す 。 |
|
カ ー ネ
ル の 設 定 で
CONFIG_MEMORY_FAILURE が 有 効
に な っ て い る
場 合 に の み 存
在 す る 。
/proc/sys/vm/oom_dump_tasks
(Linux 2.6.25 以 降 ) カ ー ネ
ル が OOM−killing を 実
行 す る 際 に 、
シ ス テ ム 全 体
の タ ス ク ダ ン
プ (カ ー ネ ル ス
レ ッ ド を 除 く )
を 生 成 す る か
を 制 御 す る 。
ダ ン プ に は 、
タ ス ク (ス レ ッ
ド 、 プ ロ セ ス )
毎 に 以 下 の 情
報 が 出 力 さ れ
る : ス レ ッ ド ID、
実 ユ ー ザ ー ID、
ス レ ッ ド グ ル
ー プ ID (プ ロ セ ス
ID)、 仮 想 メ モ リ
ー サ イ ズ 、 Resident Set
Size (実 メ モ リ ー 上
に 存 在 す る ペ
ー ジ サ イ ズ )、
タ ス ク が ス ケ
ジ ュ ー リ ン グ
さ れ た CPU、 oom_adj ス
コ ア (/proc/[pid]/oom_adj の
説 明 を 参 照 )、
コ マ ン ド 名 。
こ の ダ ン プ 情
報 は 、 な ぜ
OOM−killer が 起 動 さ
れ た か を 知 り
、 そ の 原 因 と
な っ た な ら ず
者 の タ ス ク を
特 定 す る の に
役 に 立 つ 。 こ
の フ ァ イ ル の
内 容 が 値 0 の 場
合 、 ダ ン プ 情
報 の 出 力 は 行
わ れ な い 。 タ
ス ク が 何 千 も
あ る 非 常 に 巨
大 な シ ス テ ム
で は 、 各 々 の
タ ス ク に つ い
て メ モ リ ー 状
態 を ダ ン プ す
る の は 適 切 で
な い か も し れ
な い 。 そ の よ
う な シ ス テ ム
で は 、 ダ ン プ
情 報 が 必 要 で
も な い と き に
メ モ リ ー 不 足 (OOM)
の 状 況 で 性 能
面 の 不 利 益 が
起 こ ら な い よ
う に す べ き だ
ろ う 。 こ の フ
ァ イ ル の 内 容
が 0 以 外 の 場 合
、 OOM−killer が 実 際
に メ モ リ ー を
占 有 し た タ ス
ク を kill す る 度 に
ダ ン プ 情 報 が
出 力 さ れ る 。
デ フ ォ ル ト 値
は 0 で あ る 。
/proc/sys/vm/oom_kill_allocating_task (Linux 2.6.24
以 降 ) こ の フ ァ
イ ル は 、 メ モ
リ ー 不 足 (OOM) の 状
況 が 起 こ っ た
際 に 、 メ モ リ
ー 不 足 の き っ
か け と な っ た
タ ス ク を kill す る
か ど う か を 制
御 す る 。 こ の
フ ァ イ ル が 0 に
設 定 さ れ た 場
合 、 OOM−killer は タ
ス ク リ ス ト 全
体 を ス キ ャ ン
し 、 経 験 則 に
基 づ き kill す る タ
ス ク を 選 択 す
る 。 通 常 は 、 kill
し た 場 合 に 多
く の メ モ リ ー
が 解 放 で き る
、 な ら ず 者 の
メ モ リ ー 占 有
タ ス ク が 選 択
さ れ る 。 こ の
フ ァ イ ル が 0 以
外 に 設 定 さ れ
た 場 合 、 OOM−killer
は メ モ リ ー 不
足 の 状 況 が 発
生 す る き っ か
け と な っ た タ
ス ク を 単 純 に kill
す る だ け で あ
る 。 こ れ に よ
り 、 た い て い
は 重 い 処 理 と
な る タ ス ク リ
ス ト の ス キ ャ
ン を 回 避 で き
る 。
/proc/sys/vm/panic_on_oom
が 0 以 外 の 場 合
、 /proc/sys/vm/oom_kill_allocating_task
に ど の よ う な
値 が 入 っ て い
た と し て も 、
/proc/sys/vm/panic_on_oom の 方 が
優 先 さ れ る 。
デ フ ォ ル ト 値
は 0 で あ る 。
/proc/sys/vm/overcommit_kbytes
(Linux 3.14 以 降 ) こ の 書
き 込 み 可 能 な
フ ァ イ ル は 、
/proc/sys/vm/overcommit_memory が 値 2
の 際 に 、 CommitLimit
を 制 御 す る
/proc/sys/vm/overcommit_ratio の 別
の 設 定 手 段 を
提 供 す る も の
で あ る 。 overcommit_ratio
が 割 合 を パ ー
セ ン ト で 指 定
す る の に 対 し
、 こ の フ ァ イ
ル で は オ ー バ
ー コ ミ ッ ト す
る メ モ リ ー 量
を 絶 対 値 (kB 単 位 )
で 指 定 で き る
。 こ れ に よ り
、 メ モ リ ー サ
イ ズ が 非 常 に
大 き な シ ス テ
ム で CommitLimit を 極
め 細 か く 制 御
で き る 。
overcommit_kbytes
と overcommit_ratio の い ず
れ か 一 方 だ け
が 効 果 を 持 つ
。 overcommit_kbytes が 0 以
外 の 値 を 持 つ
場 合 、 CommitLimit を
計 算 す る の に
overcommit_kbytes が 使 用 さ
れ 、 そ れ 以 外
の 場 合 overcommit_ratio が
使 用 さ れ る 。
こ れ ら の フ ァ
イ ル の い ず れ
か に 値 を 書 き
込 む と 、 他 の
フ ァ イ ル の 値
は 0 に 設 定 さ れ
る 。
/proc/sys/vm/overcommit_memory
こ の フ ァ イ ル
に は カ ー ネ ル
仮 想 メ モ リ ー
の ア カ ウ ン ト
モ ー ド が 書 か
れ て い る 。 値
は 以 下 の 通 り :
0: 発
見 的 な オ ー バ
ー コ ミ ッ ト (heuristic
overcommit) (こ れ が デ フ
ォ ル ト で あ る )
1: 常 に オ ー バ ー
コ ミ ッ ト し 、
チ ェ ッ ク し な
い 。
2: 常 に チ ェ ッ ク
し 、 オ ー バ ー
コ ミ ッ ト し な
い 。 モ ー ド 0 で
は 、 MAP_NORESERVE を 設
定 し て 呼 び 出
さ れ た mmap(2) は チ
ェ ッ ク さ れ な
い 。 ま た デ フ
ォ ル ト の チ ェ
ッ ク は と て も
脆 弱 で 、 プ ロ
セ ス を "OOM−kill"
し て し ま う リ
ス ク を 引 き 起
こ す 。 Linux 2.4 で は 0
以 外 の 値 は モ
ー ド 1 を 意 味 す
る 。 モ ー ド 2 (Linux 2.6
以 降 で 利 用 可
能 ) で は 、 割 り
当 て 可 能 な 仮
想 ア ド レ ス 空
間 (/proc/meminfo の CommitLimit)
は 以 下 で 計 算
さ れ る 。
CommitLimit =
(total_RAM − total_huge_TLB) *
overcommit_ratio / 100 + total_swap 個 々
の 説 明 :
|
* |
|
total_RAM は シ ス テ
ム 上 の RAM の 総
量 |
|
* |
|
total_huge_TLB は ヒ ュ
ー ジ ペ ー ジ 用
に 確 保 さ れ た
メ モ リ ー 総 量 |
|
* |
|
overcommit_ratio は
/proc/sys/vm/overcommit_ratio の 値 |
|
* |
|
total_swap は ス ワ ッ
プ 空 間 の 総 量 |
例 え ば
、 物 理 RAM が 16GB で
、 ス ワ ッ プ が 16GB
で 、 ヒ ュ ー ジ
ペ ー ジ 専 用 の
空 間 が な く 、
overcommit_ratio が 50 の シ
ス テ ム で は 、
こ の 式 か ら
CommitLimit と し て 24GB の
値 が 得 ら れ る
。
Linux 3.14
以 降 で は 、
/proc/sys/vm/overcommit_kbytes の 値
が 0 で な い 場 合
、 CommitLimit は 代 わ
り に 以 下 の よ
う に 計 算 さ れ
る 。
CommitLimit =
overcommit_kbytes + total_swap
/proc/sys/vm/overcommit_ratio
(Linux 2.6.0 以 降 ) こ の 書
き 込 み 可 能 な
フ ァ イ ル は 、
オ ー バ ー コ ミ
ッ ト で き る メ
モ リ ー の 割 合
を パ ー セ ン ト
で 定 義 す る 。
こ の フ ァ イ ル
の デ フ ォ ル ト
値 は 50 で あ る 。
/proc/sys/vm/overcommit_memory の 説
明 を 参 照 。
/proc/sys/vm/panic_on_oom (Linux 2.6.18 以
降 ) こ の フ ァ イ
ル は 、 メ モ リ
ー 不 足 時 に カ
ー ネ ル パ ニ ッ
ク を 起 こ す か
起 こ さ な い か
を 制 御 す る 。
こ の フ ァ イ ル
に 値 0 を 設 定 す
る と 、 カ ー ネ
ル の OOM−killer が な
ら ず 者 の プ ロ
セ ス を kill す る 。
普 通 は 、 OOM−killer
が な ら ず 者 の
プ ロ セ ス を kill す
る こ と が で き
、 シ ス テ ム は
何 と か 動 き 続
け る こ と が で
き る 。 こ の フ
ァ イ ル に 値 1 を
設 定 す る と 、
メ モ リ ー 不 足
の 状 況 が 発 生
す る と 、 カ ー
ネ ル は 普 通 は
パ ニ ッ ク す る
。 し か し な が
ら 、 プ ロ セ ス
が メ モ リ ー ポ
リ シ ー (mbind(2) の
MPOL_BIND) や cpusets (cpuset(7))
を 使 っ て 特 定
の ノ ー ド へ の
メ モ リ ー 割 り
当 て を 制 限 し
て い て 、 そ れ
ら の ノ ー ド で
メ モ リ ー 枯 渇
状 態 に 至 っ た
場 合 は 、 一 つ
の プ ロ セ ス が
OOM−killer に よ り kill さ
れ る だ け か も
し れ な い 。 こ
の 場 合 に は 、
カ ー ネ ル パ ニ
ッ ク は 発 生 し
な い 。 な ぜ な
ら 、 他 の ノ ー
ド の メ モ リ ー
に は 空 き が あ
る か も し れ ず
、 し た が っ て
、 シ ス テ ム 全
体 と し て は メ
モ リ ー 不 足 の
状 況 に ま だ 達
し て い な い か
も し れ な い か
ら で あ る 。 こ
の フ ァ イ ル に
値 2 を 設 定 す る
と 、 メ モ リ ー
不 足 の 状 況 が
発 生 す る と カ
ー ネ ル は 常 に
パ ニ ッ ク を 起
こ す 。 デ フ ォ
ル ト 値 は 0 で あ
る 。 1 と 2 は ク ラ
ス タ リ ン グ の
フ ェ イ ル オ ー
バ ー 用 で あ る
。 フ ェ イ ル オ
ー バ ー の 方 針
に 応 じ て ど ち
ら か の 値 を 選
択 す る こ と 。
/proc/sys/vm/swappiness こ の フ
ァ イ ル の 値 に
よ り 、 カ ー ネ
ル が ど の 程 度
激 し く メ モ リ
ー ペ ー ジ の ス
ワ ッ プ を 行 う
か が 制 御 さ れ
る 。 大 き な 値
ほ ど ス ワ ッ プ
が 激 し く な り
、 小 さ い 値 ほ
ど 激 し く な く
な る 。 デ フ ォ
ル ト 値 は 60 で あ
る 。
/proc/sysrq−trigger (Linux 2.4.21 以
降 ) こ の フ ァ イ
ル に 文 字 character を
書 き 込 む と 、
キ ー ボ ー ド か
ら ALT−SysRq−<character> を
入 力 し た 場 合
と 同 じ SysRq 関 数 が
起 動 さ れ る
(/proc/sys/kernel/sysrq の 説 明
を 参 照 )。 通 常
、 こ の フ ァ イ
ル へ 書 き 込 み
が で き る の は
root だ け で あ る
。 詳 細 に つ い
て は 、 Linux カ ー ネ
ル ソ ー ス フ ァ
イ ル の Documentation/sysrq.txt
を 参 照 の こ と
。
/proc/sysvipc 疑 似 フ ァ
イ ル msg, sem, shm
を 含 む サ ブ デ
ィ レ ク ト リ 。
こ れ ら の フ ァ
イ ル は 、 現 在
シ ス テ ム 上 に
存 在 す る System V プ
ロ セ ス 間 通 信
(Interprocess Communication, IPC) オ ブ ジ
ェ ク ト (そ れ ぞ
れ : メ ッ セ ー ジ
キ ュ ー 、 セ マ
フ ォ 、 共 有 メ
モ リ ー ) の リ ス
ト で あ り 、 ipcs(1)
で 取 得 で き る
情 報 と 同 じ も
の を 提 供 す る
。 こ れ ら の フ
ァ イ ル に は ヘ
ッ ダ ー が あ り
、 理 解 し や す
い よ う に (1 行 に
つ き 1 個 の IPC オ ブ
ジ ェ ク ト の 形
式 で ) フ ォ ー マ
ッ ト さ れ て い
る 。 svipc(7) に は こ
れ ら の フ ァ イ
ル か ら 分 か る
情 報 の 詳 細 な
背 景 が 書 か れ
て い る 。
/proc/thread−self (Linux 3.17 以 降 )
こ の デ ィ レ ク
ト リ は 、 /proc フ
ァ イ ル シ ス テ
ム に ア ク セ ス
し た ス レ ッ ド
を 参 照 し て い
る 。 こ れ は 、
同 じ ス レ ッ ド
の プ ロ セ ス ス
レ ッ ド ID ([tid]) の
名 前 の /proc/self/task/[tid]
デ ィ レ ク ト リ
と 同 一 で あ る
。
/proc/timer_list (Linux 2.6.21 以 降 )
This read−only file
exposes a list of all currently pending
(high−resolution) timers, all clock−event
sources, and their parameters in a human−readable
form.
/proc/timer_stats (Linux
2.6.21 以 降 )
This is a debugging facility to
make timer (ab)use in a Linux system visible to kernel and
user−space developers. It can be used by kernel and
user−space developers to verify that their code does
not make undue use of timers. The goal is to avoid
unnecessary wakeups, thereby optimizing power
consumption.
If enabled in
the kernel (CONFIG_TIMER_STATS), but not used, it has
almost zero runtime overhead and a relatively small
data−structure overhead. Even if collection is enabled
at runtime, overhead is low: all the locking is
per−CPU and lookup is hashed.
The
/proc/timer_stats file is used both to control
sampling facility and to read out the sampled
information.
The timer_stats
functionality is inactive on bootup. A sampling period can
be started using the following command:
# echo 1 >
/proc/timer_stats
The following
command stops a sampling period:
# echo 0 >
/proc/timer_stats
The statistics
can be retrieved by:
$ cat
/proc/timer_stats
While sampling
is enabled, each readout from /proc/timer_stats will
see newly updated statistics. Once sampling is disabled, the
sampled information is kept until a new sample period is
started. This allows multiple readouts.
/proc/timer_stats
の サ ン プ ル 出
力 。
$ cat
/proc/timer_stats
Timer Stats Version: v0.3
Sample period: 1.764 s
Collection: active
255, 0 swapper/3 hrtimer_start_range_ns (tick_sched_timer)
71, 0 swapper/1 hrtimer_start_range_ns (tick_sched_timer)
58, 0 swapper/0 hrtimer_start_range_ns (tick_sched_timer)
4, 1694 gnome−shell mod_delayed_work_on
(delayed_work_timer_fn)
17, 7 rcu_sched rcu_gp_kthread (process_timeout)
...
1, 4911 kworker/u16:0 mod_delayed_work_on
(delayed_work_timer_fn)
1D, 2522 kworker/0:0 queue_delayed_work_on
(delayed_work_timer_fn)
1029 total events, 583.333 events/sec
The output
columns are:
|
* |
|
a count of the number of events, optionally (since Linux
2.6.23) followed by the letter 'D' if this is a deferrable
timer; |
|
* |
|
the PID of the process that initialized the timer; |
|
* |
|
the name of the process that initialized the timer; |
|
* |
|
the function where the timer was initialized; and |
|
* |
|
(in parentheses) the callback function that is
associated with the timer. |
/proc/tty 疑
似 フ ァ イ ル を
含 む サ ブ デ ィ
レ ク ト リ 。 tty ド
ラ イ バ と ラ イ
ン 設 定 (line discipline) の
書 か れ た サ ブ
デ ィ レ ク ト リ
も 含 ま れ る 。
/proc/uptime こ の フ ァ
イ ル は シ ス テ
ム 起 動 時 か ら
経 過 し た 時 間
(秒 ) と ア イ ド ル
(idle) し て い る プ ロ
セ ス が 消 費 し
た 時 間 (秒 ) の 2 つ
の 数 を 含 む 。
/proc/version 現 在 稼 働
し て い る カ ー
ネ ル の バ ー ジ
ョ ン 識 別 子 で
あ る 文 字 列 。
こ れ に は /proc/sys/ostype,
/proc/sys/osrelease, /proc/sys/version
の 内 容 が 含 ま
れ る 。 た と え
ば こ の よ う に :
Linux version 1.0.9 (quinlan@phaze) #1 Sat May 14 01:51:54 EDT 1994
/proc/vmstat (Linux 2.6
以 降 ) こ の フ ァ
イ ル は 仮 想 メ
モ リ ー の 様 々
な 統 計 情 報 を
表 示 す る 。
/proc/zoneinfo (Linux 2.6.13 以 降 )
こ の フ ァ イ ル
は メ モ リ ー の
ゾ ー ン (memory zone) に 関
す る 情 報 を 表
示 す る 。 仮 想
メ モ リ ー の 振
舞 い を 分 析 す
る の に 役 立 つ
。
ほ と ん
ど の 文 字 列 (た
と え ば 環 境 変
数 や コ マ ン ド
行 ) は 内 部 表 現
の ま ま な の で
、 各 フ ィ ー ル
ド は ヌ ル バ イ
ト ('\0') で 区 切 ら れ
て い る 。 だ か
ら 、 od −c や tr
"\000" "\n" を 使
え ば 、 そ れ ら
は よ り 読 み や
す く な る 。 ま
た echo `cat <file>` で も
よ い 。 こ の マ
ニ ュ ア ル は 不
完 全 で あ り 、
た ぶ ん 不 正 確
で 、 し ば し ば
更 新 さ れ る 必
要 が あ る 。
cat(1),
dmesg(1), find(1), free(1),
ps(1), tr(1), uptime(1),
chroot(2), mmap(2), readlink(2),
syslog(2), slabinfo(5), hier(7),
namespaces(7), time(7), arp(8),
hdparm(8), ifconfig(8), init(1),
lsmod(8), lspci(8), mount(8),
netstat(8), procinfo(8), route(8),
sysctl(8)
Linux カ
ー ネ ル の ソ ー
ス フ ァ イ ル :
Documentation/filesystems/proc.txt
Documentation/sysctl/fs.txt,
Documentation/sysctl/kernel.txt,
Documentation/sysctl/net.txt, and
Documentation/sysctl/vm.txt.
こ の man ペ
ー ジ は Linux man−pages
プ ロ ジ ェ ク ト
の リ リ ー ス 3.79 の
一 部 で あ る 。
プ ロ ジ ェ ク ト
の 説 明 と バ グ
報 告 に 関 す る
情 報 は
http://www.kernel.org/doc/man−pages/ に 書
か れ て い る 。
| |