まず、問題の現象
java.io.IOException:開いているファイルが多すぎます
ヒントを参照して、適切なログ・プロセスを入力します。
第二に、ソリューション
考える:この場合は、Linuxのulimitコマンドの下で使用することを含む、ulimitのは、主に制約の様々なタイプをサポートし、プロセスのリソースの使用を制限するために使用されます。
-a |
現在のシステムリソース制限に関するすべての情報を表示します。 |
-H |
セットが増加することができないと、ハードリソース制限を設定します。 |
-S |
増加させることができるが、ハードリソース設定を超えることはできませんを設定した後、リソース制限を設定します。 |
-c |
単位としてのブロックにコアファイルの最大サイズ。 |
-f |
プロセスは、単位としてブロックと最大ファイルを作成することができます。 |
-d |
バイト単位にプロセスデータセグメントの最大サイズ。 |
-m |
Kバイト単位での最大メモリサイズ。 |
-n |
開くことのできるファイル記述子の最大数。 |
-s |
Kバイト単位でのスレッドのスタックサイズ。 |
-p |
キロバイトの単位でパイプのバッファサイズ、。 |
-u |
ユーザに利用可能なプロセスの最大数。 |
-v |
Kバイト単位の仮想メモリー使用可能なプロセスの最大数。 |
-t |
最大CPU使用時間(秒)。 |
-l |
最大メモリサイズはバイト単位にロックすることができます。 |
/etc/security/ulimit.confでulimitコマンドをプロフィール。
ユーザーファイルulimitコマンドを変更することが可能なプロセスの最大数:/etc/security/ulimit.d/20-nproc.conf
2つのファイルが変更するために利用されると、ユーザー・プロセスの最大数は/etc/security/ulimit.d/20-nproc.conf勝ちます。
第三に、問題の原因
ulimitの時間制限を加えるので、後に最後の開始Tomcatの時間よりも、そしてその間に、Tomcatサービスが再起動されていない、オペレーティングシステムが再起動されていない場合、Tomcatのulimitのリソース制限は、それが有効で、常にではありません。
解決プロセス:
[ルート@のtomcatserver〜]#件のpgrep-FのTomcat
12031
[ルート@のtomcatserver〜]#psの-eopid、LSTART、ETIME | grep12031
12031火4月17日午前14時25分48秒2018 47:03
[ルート@のtomcatserver〜]#スタット/etc/security/limits.confを
私たちは、プロセスを再起動することができます