[解決済み】Linuxのオープンファイル数制限を変更するには?[クローズド]。
質問
アプリケーションを実行すると、以下のようなエラーが発生することがあります。
too many files open
.
実行中
ulimit -a
は、上限が1024であることを報告します。 どうすれば1024以上の制限をかけることができますか?
編集
ulimit -n 2048
を実行すると、パーミッションエラーが発生します。
解決方法は?
を実行してみてください。
ulimit -n 2048
. これは現在のシェルの制限をリセットするだけで、指定する数はハードリミットを超えてはいけません。
各オペレーティングシステムは、設定ファイルに異なるハードリミットを設定しています。 例えば、Solaris のハードオープンファイル制限は、起動時に /etc/system から設定することができます。
set rlim_fd_max = 166384
set rlim_fd_cur = 8192
OS Xでは、これと同じデータを/etc/sysctl.confに設定する必要があります。
kern.maxfilesperproc=166384
kern.maxfiles=8192
Linuxでは、これらの設定は/etc/security/limits.confにあることが多いようです。
制限には2種類あります。
- ソフト 制限とは、単に現在適用されている制限のことです。
- ハード は、ソフトリミットを設定することによって、超えることができない最大値をマークします。
ハードリミットはrootのみが変更可能ですが、ソフトリミットはどのユーザーでも設定可能です。 リミットはプロセスのプロパティです。子プロセスが作成されたときに継承されます。したがって、システム全体の制限は init スクリプトでシステムの初期化時に設定し、ユーザー制限は pam_limits などでユーザーのログイン時に設定すべきです。
マシンの起動時にデフォルトが設定されていることがよくあります。 そのため、個々のシェルで ulimit をリセットしても、再起動すると前の値にリセットされてしまうことがあります。 デフォルトを変更したい場合は、ブートスクリプトを grep して ulimit コマンドの存在を確認するとよいでしょう。
関連
-
[解決済み】ssh: ホスト名を解決できなかった [ホスト名]: nodename も servname も提供されないか、不明 [終了].
-
[解決済み] Bashスクリプトでスクリプトファイル名を知るには?
-
[解決済み] CLIから、ファイルの最終行を表示する
-
[解決済み] Linuxで特定のテキストを含むすべてのファイルを検索するにはどうすればよいですか?
-
[解決済み] ワイルドカードマッチングに基づいて、現在のフォルダとサブフォルダ内のすべてのファイルを再帰的に検索するにはどうすればよいですか?
-
[解決済み] フォルダとそのサブフォルダ/ファイルのパーミッションを一括で変更する方法
-
[解決済み] Linux上で動作するC++コードのプロファイリングを行うにはどうすればよいですか?
-
[解決済み] LinuxのシェルスクリプトでYes/No/Cancelの入力を促すにはどうしたらいいですか?
-
[解決済み] Linux で grep を使ってファイル名だけを表示するにはどうしたらいいですか?
-
[解決済み] Linuxのディレクトリ内のファイルを再帰的にカウントする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】 -bash: fork: メモリを確保できない
-
[解決済み】エラー java.net.SocketException の解決方法。開いているファイルが多すぎます
-
[解決済み] retqとretの違いは何ですか?
-
[解決済み] sudo mv home/* *」というコマンドは何をするのですか?[クローズド]
-
[解決済み] エラーです。"gzip: stdout: Linuxカーネルアップグレード中に「No space left on device」(デバイスに空き容量がない)が発生する(空き容量がある間)[closed]。
-
[解決済み] 負荷警告: エントリ シンボル _start が見つかりません
-
[解決済み] vimdiff の出力ファイルにおける +-- の意味は何ですか?それをオフにする方法は?
-
[解決済み] LinuxでXcodeを動かせるか?
-
[解決済み] VIMでの検索と置換の結果、末尾の文字が表示される
-
[解決済み] Nodemonエラー。ファイルウォッチャー数のシステム制限に達しました