Ubuntu 12.04 で ulimit を変更しても機能しない

Ubuntu 12.04 で ulimit を変更しても機能しない

私は Hadoop を使っていて、開いているファイルの数を変更する必要がありますulimit -n。stackoverflow や他の場所で同様の質問を見て、それらの回答にあるすべてを試しましたが、まだ機能しません。私は を使っていますubuntu 12.04 LTS。私がやったことは次のとおりです:

の制限を変更するには/etc/security/limits.conf、* と の設定を入れました。また、制限をやrootのような数値に変更しました。10000unlimited

* soft nofile 1513687
* hard nofile 1513687
root soft nofile 1513687
root hard nofile 1513687

また、と-の代わりにを使用した上記の設定も試しました。これらの変更後、次のようなファイルに変更を加えました。softhard/etc/pam.d/

common-session 
common-session-noninterative
login
cron
sshd
su
sudo

session required pam_limits.so各ファイルの先頭に追加しました。問題のボックスを再起動しましたが、設定は有効になりませんでした。

/etc/security/limits.d/また、ディレクトリ内にユーザーと のhbase mapredファイルがあることもわかりましたhdfs。これらの個々のファイルの制限も変更しようとしましたが、効果はありませんでした。

ulimit -S -n unlimited中に/etc/profileも入れてみました。 うまくいきませんでした。

limit nofile unlimited unlimited最後に、ファイル内の最初の行として配置してみました/etc/init.d/hadoop*。 動作しませんでした。

興味深いのは、ボックスに hbase がインストールされていないのに、ディレクトリhbase.conf内にファイルがあることです/etc/security/limits.d/。このファイルの設定は に反映されますulimit -n。しかし、 と の設定hdfs.confは反映されません。これは、何かがとmapred.confの設定を上書きしていることを示しています。hdfsmapred

いくつかのフォーラムで人々が提案したことはすべて試したと思いますが、他に見落としたり間違って行ったりしたことはありますか?

私はCDH 4.4.0Hadoop ディストリビューションとして使用しています。

答え1

再起動しましたか? /etc/security/limits.conf の変更は、再起動後にのみ有効であることがわかりました。

関連情報