概要

  • Linux オペレーティング・システムでは、ファイル・ディスクリプタという仕組みが使われます。ファイル・ディスクリプタによって、標準入出力やブロックデバイス、ソケットなどが擬似ファイルとして処理されます。ファイル・ディスクリプタは、プロセス毎に管理され、/proc/プロセス番号/fd/ に保持されます。
  • ソケットとは、ネットワーク通信で用いられるファイル・ディスクリプタです。ネットワーク通信では、コネクション毎にファイル・ディスクリプタが作成されます。クライアントからの同時接続が多いシステムの場合、ファイル・ディスクリプタも多く必要になります。
  • このファイル・ディスクリプタは、同時にオープンできる数が制限されています。Webサーバーで’Too many open files’ のエラー等に遭遇して、ファイル・ディスクリプタ制限のチューニングが必要な状況を想定しています。また、ファイル・ディスクリプタのチューニングは、目的によって方法が異なるため難解です。本記事では、ポイントを整理して、現在オープンされているファイル・ディスクリプタの数を調査する方法、現在の制限を確認する方法、制限を変更する方法を紹介します。

現在オープンされているファイル・ディスクリプタの数を調査する

  • 現在オープンされているファイル・ディスクリプタの数を調査するには、/proc/プロセス番号/fd/ 配下を調べる方法と、lsof コマンドを使用する方法があります。

全文はこちら:Linux ファイル・ディスクリプタ制限のチューニング
著者:新川貴章