« [ ニッキ ] 早い・・・のか? | トップページ | [ win ] 実行ファイルが 32 ビットか 64 ビットかを確認する方法 »

2010/08/11

[ linux / 備忘録 ] 開いているファイル、開けるファイルの数を確認する

現在開いているファイルの数、開けるファイルの最大数を確認するには

$ cat /proc/sys/fs/file-nr 
1984    0       24151

一番左が「OS を起動してから今までに開いたファイルの数」
真ん中が「現在開いているファイルの数」
一番右が「開けるファイルの最大数」

正確には、ファイルディスクリプタの数が表示される。
Linux では socket もファイルディスクリプタとして扱われるため、「socket の数 + ファイルの数」 が表示されることに注意。

デバイスには異常がないしメモリにも余裕がある、ポートも競合していないのにファイルが開けないとか、socket が開けないときは /proc/sys/fs/file-nr の数値を確認してみよう。現在開いているファイルディスクリプタの数=開ける上限数になってしまっているかもしれない。

ローカルファイルを扱うアプリで解放漏れはほとんど見かけないが、ネットワーク通信を行うアプリだと socket の生成・解放処理がまともに行われていない ( コンストラクタ・デストラクタ内で生成・解放してるとか例外処理がちゃんと行われてないとか ) こともたまにある。

|

« [ ニッキ ] 早い・・・のか? | トップページ | [ win ] 実行ファイルが 32 ビットか 64 ビットかを確認する方法 »

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/103108/49122850

この記事へのトラックバック一覧です: [ linux / 備忘録 ] 開いているファイル、開けるファイルの数を確認する:

« [ ニッキ ] 早い・・・のか? | トップページ | [ win ] 実行ファイルが 32 ビットか 64 ビットかを確認する方法 »