Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxチュートリアル >> Linuxのオープンファイル数が多すぎる解決方法

Linuxのオープンファイル数が多すぎる解決方法

  

この問題は、プログラムによって開かれるファイル数の制限が原因で発生します。 [root @ 5〜]を表示するには、ulimit -aコマンドを使用します。#ulimit -aコアファイルサイズ(ブロック、-c)0データセグメントサイズ(kバイト、-d)スケジューリングの優先順位(-e)0ファイルサイズ(ブロック、 - ) f)無制限の保留シグナル(-i)4096最大ロック・メモリー(kバイト、-l)32最大メモリー・サイズ(kバイト、-m)無制限オープン・ファイル(-n)1024パイプ・サイズ(512バイト、-p)8 POSIXメッセージ待ち行列(バイト、-q)819200リアルタイム優先(-r)0スタックサイズ(kバイト、-s)10240 CPU時間(秒、-t)無制限の最大ユーザープロセス数(-u)4096仮想メモリ(kバイト、-v)無制限のファイルロック(-x)無制限ご覧のとおり、開いているファイルの制限は1024です。この値を変更することで開くことができるファイルの数を増やすことができます。 ******************************************************* ****************一時的な変更:それを2048に変更し、ulimit -n 2048を使用してください。開いているファイルの値をある程度増やすと、開いているファイルが多すぎます二度と現れないでしょう。 ******************************************************* ****************これら2つのパラメータ値を長期間変更するには、/ect/security/limits.confを変更してファイルに2行追加します。

コードは次のとおりです。* - nofile 65535 * - nproc 65535

注:この行は、各ユーザーのデフォルトのオープンファイル番号を2048に設定します。 「nofile」項目には2つの制限があることに注意してください。これは< type>アイテムの下のハードとソフトです。変更された最大オープンファイル数を有効にするには、これら2つの制限を設定する必要があります。 " - "文字が< type>に設定されている場合は、ハード設定とソフト設定が同時に設定されます。ハードリミットは、ソフトリミットに設定できる最大値を示します。ソフトリミットとは、現在のシステムが有効になっている設定値のことです。ハードリミット値は一般のユーザーが下げることができます。しかし増やすことはできません。ソフトリミットをハードリミットより高く設定することはできません。 rootユーザーだけがハードリミット値を増やすことができます。ファイル制限の説明を追加するときは、単純に現在の値を2倍にすることができます。例は次のとおりです。デフォルト値の1024を増やす場合は2048に増やすことをお勧めします。続けて増やす場合は4096に設定する必要があります。最後に、ulimit -aを使用して再度開いているファイルの値を確認し、問題がなければ変更されています。 ******************************************************* **************** ---------------------------------- ---------------------------上記の設定の後、シェルからログアウトして再度ログインしても、//etc /profileを指すようにはなりません。次に、rc.localに行ulimit -SHn 51200(すでにulimitに関する設定があることに注意してください)を追加し、行ulimit -SHn 51200を追加します(これが必要かどうかわからない、実際には追加しません)。ulimit -S -c 0> /dev /null 2>& 1このステートメントは、ソフトウェアリソースとコアファイルサイズの設定を設定します。

Copyright © Windowsの知識 All Rights Reserved