a-Column

【UNIX】ファイルハンドテーブルに関して

■FreeBSDの場合

pstat は、オープンしているファイルのエントリ・スワップ領域端末の状態・vnode データ構造体を表示します。
swapinfo という名前で起動されると -s オプションが指定されたことになり、このときは -k オプションだけを指定することができます。

オプションは以下の通りです:

-n デバイスを表示するときに、名前ではなくデバイスのメジャー番号とマ
イナ番号を使用します。

-k BLOCKSIZE 環境変数での設定に関わらず、容量の表示をキロバイト単位
で行います。

-T 種々のシステムテーブルについて使用スロットと空きスロットの数を表
示します。システムの負荷が非常に重いとき、システムテーブルがどれ
くらいの大きさになっているかを調べるのに役立ちます。

-f 次のようなヘッダとともに、オープンしているファイルのテーブルを表
示します:

LOC このテーブルエントリの core 中における位置

TYPE このテーブルエントリが指すオブジェクトの型

FLG その他の状態。以下のように記号化されています:

R 読み込み用にオープンされている
W 書き込み用にオープンされている
S 共有ロックが存在している
X 排他的ロックが存在している
I データの準備ができたらプロセスグループにシグナル
を送る
D VDOOMED
F VFREE
b VTBFREE
O VONWORKLST
M VMOUNT

CNT オープンされたこのファイルのことを知っているプロセスの数

MSG このファイルに向けられているメッセージの数

DATA このファイルに関する vnode テーブルエントリもしくはソケッ
ト構造体の位置

OFFSET ファイルオフセット (lseek(2) 参照)


RAW raw な入力キューにある文字数

CAN 正規化された入力キューにある文字数

OUT 出力キューにある文字数

MODE tty(4) を参照

ADDR 物理デバイスアドレス

DEL 正規化された入力キューにある区切り文字(改行)の数

COL 端末の計算した列の位置

STATE その他の状態。以下のように記号化されています:

T delay がタイムアウトしようとしている
O オープンしている
F DMA 中に出力キューがフラッシュされた
C キャリアがオン
c 接続している
B 出力中のためビジー
A プロセスは出力キューに空きができるのを待っている
a プロセスは出力の完了を待っている
X 排他的な利用のためにオープンしている
S 出力が停止した (ixon フロー制御の場合)
m 出力が停止した (carrier フロー制御の場合)
o 出力が停止した (CTS フロー制御の場合)
d 出力が停止した (DSR フロー制御の場合)
K 入力が停止した
Y 入力イベントの際に SIGIO を送る
D 小文字 (lowercase) の `\' が動作する状態
E PRTRUBのため `\.../' の中にいる
L 次の文字はリテラルである
P 中断された入力を再タイプしている (PENDIN)
N タブ幅を数えている、FLUSHO を無視する
l ブロックモード入力ルーチンは使用中
s i/o が snoop された
Z 接続が失われた

SESS セッション構造体のカーネル内アドレス

PGID この端末を制御端末としているプロセスグループ

DISC 回線規約; `term' (TTYDISC の場合), `ntty' (NTTYDISC の場
合), `tab' (TABLDISC の場合), `slip' (SLIPDISC の場合),
`ppp' (PPPDISC の場合) のいずれか

例)

% /user/sbin/pstat -T
72/4072 files

0M/1023M swap space

■Linuxの場合

オープン可能なファイル数の上限や、ファイルをオープンしている数の統計を、
/proc/ 以下にある次の2つのファイルを参照することで確認することができます。

[/proc/sys/fs/file-max]
オープン可能なファイル数の上限を確認でる。
値の変更を行うことも可能。
[/proc/sys/fs/file-nr]
次の3つの情報を確認することが可能です。
1. 今までにオープンしたことのあるファイルの最大数
(割り当て済みのファイルハンドル数 )
2. 現在オープンしているファイルの総数
(使用中のファイルハンドル数 )
3. オープン可能なファイル数の上限
(/proc/sys/fs/file-max と同じ値)

例)
$ cat /proc/sys/fs/file-nr
320 117 4096

4096枚までのファイルハンドルを開く事ができ、OS起動後から
コマンド現在までに最大320枚のファイルハンドルを同時に使用
した事がある。現在は、117枚です。

・オープン可能なファイル数の上限を変更(動的)

# echo "300000" > /proc/sys/fs/file-max

Last Update : 2010年02月22日 (月) 14:49