■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