これは、Ubuntuリリース12.04(正確)64ビットカーネルLinux 3.2.0-25-virtualで発生しています
ユーザーに許可される開いているファイルの数を増やしようとしています。これは、現在の1024の制限では十分ではないEclipse Javaアプリケーション用です。
私がこれまでに見つけた投稿によると、私は行を入れることができるはずです
/etc/security/limits.confは次のようになります。
soft nofile 4096
hard nofile 4096
すべてのユーザーに許可されるオープンファイルの数を増やすため。
しかし、それは私にとってはうまくいきません。問題はそのファイルとは関係ないと思います。
すべてのユーザーの場合、/ etc / security / limits.confの内容に関係なく、デフォルトの制限は1024です(そのファイルを変更した後に再起動しました)
$ ulimit -n
1024
/etc/security/limits.confのエントリにもかかわらず、これを増やすことはできません。
$ ulimit -n 2048
-bash:ulimitの:開いているファイルは:制限を変更することはできません:操作はない奇妙な部分は私が制限を変更することができるということです許可下向きが、上向きにそれを変更することはできません-でも、元の限界以下である数に戻ります。
$ ulimit -n 800
$ ulimit -n
800
$ ulimit -n 900
-bash: ulimit: open files: cannot modify limit: Operation not permitted
ルートとして、私はその制限を好きなように上下に変更できます。/ proc / sys / fs / file-maxにあるシステム全体の制限を気にすることさえないようです。
# cat /proc/sys/fs/file-max
188897
# ulimit -n 188898
# ulimit -n
188898
しかし、Eclipseをrootとして実行しても、「Too Many Open File」例外が原因でアプリケーションがクラッシュします。
これまでのところ、私は非ルートユーザーのオープンファイル制限を増やす方法を見つけていません。
どのようにこれを適切に行う必要がありますか?私は他のいくつかの投稿を見ましたが、運はありません!
/etc/security/limits.conf
、新しい最大制限を使用するには、ログアウトしてから再度ログインする必要がある場合があることに注意してください。私はこれを行いましたがulimit -Hs
、1000000に上げたばかりのときに1000を表示することに困惑していました!その後、ログアウトして再度ログインすると、ulimitが新しい金額を表示しました。