CentOSでのulimitの増加


18

ユーザーが開くことができるファイルの最大数を増やしようとしているCentOSボックスがあります。現在、私が実行するulimit -Snと、を取得1024してulimit -Hn提供し4096ます。その数は6000前後まで必要です。

/etc/sysctl.conf設定しましたfs.file-max = 100000。では/etc/security/limits.confI以下のセットがあります。

username soft nofile 6000
username hard nofile 65535

ログアウトして再度ログインしましusernameたが、まだ変更が表示されていません。この値を変更するには何が必要ですか?

私が持っているの/etc/security/limits.dはすべてです90-nproc.conf。また、.bash_profileまたは.bashrcでulimitが呼び出されないようにしました。

実行するsysctl -pと、必要な設定が出力され、必要な値が表示されfs.file-maxます。しかし、実行するとulimit -Sn、1048がsysctl --system得られerror: Unknown parameter "--system"ます。実行しようとすると、が得られます。


再起動しようとしましたか?私の知る限り、これらの設定はシステムの起動時に読み込まれます。
カミル14年

そのために再起動する必要はありません。
ザビエルルーカス14年

回答:


14

強制的/etc/sysctl.confにもう一度読むにはを実行しsysctl -pます。

ファイル/etc/security/limits.confはログインシェルによって読み取られるため、GUIの場合はアクティブなセッションウィンドウを閉じる必要があります。リモートログインの場合、再ログに反映されます。


1
再実行後も変更が表示されないことを実行しました。
tubaguy50035 14年

@ tubaguy50035 fs.file-maxは、システムで開いているファイルの最大数です。それは厳しい制限でありulimit、あなたの場合の呼び出しには反映されません。
ザビエルルーカス14年

ああ、大丈夫。その時点で開いているファイルが多すぎてはいけませんか?
tubaguy50035 14年

@ tubaguy50035関連なし。これは、limits.confで上記の数値を上書きするシステムのハード制限です。ただし、limits.confはまだ適用されています。新しいセッションで直接ulimitを使用してハード制限とソフト制限を設定し、同じ最大値を取得できるかどうかを確認できますか?何かが設定を上書きしているようです。
ザビエルルーカス14年

操作は許可されていません。ユーザーに何かへのアクセス権を与える必要がありますか?私はむしろ、Webユーザーにroot権限がないようにします。
tubaguy50035 14年

6

別の投稿者が言ったように、実行中のカーネルでsysctlに値を設定する必要があります。再起動せずに値を設定するには、いくつかの方法があります。

sysctl -p /etc/sysctl.conf
sysctl -w fs.file-max=100000
sysctl --system

私見では、ブート中に設定が適用される順序を複製するため、最後の方法が最適です(したがって、競合がある場合は明らかになります)。

注:使用しているCentOSのバージョンはわかりませんが、少なくとも7では、何らかの理由でdracutがinitramfsを再構築すると(新しいカーネルモジュールをインストールするときなど)コピーオーバーする問題が発生しました/etc/sysctl.*の内容をinitramfsに格納します。これは、後で/etc/sysctl.confからこれらのエントリを削除した場合でも、そのフェーズ中にsystemd-sysctlによって実行されます。

私の環境では、systemd dracutモジュールを編集して、その環境から/etc/sysctl.*を除外しました(rootfsがマウントされ、systemd-sysctlが再度実行されると、これらの設定が設定されるため)。それはあなたが遭遇するかもしれないただの落とし穴です。


CentOS 6.5を使用しています。また、私の質問をいくつかの結果で更新しました。
tubaguy50035 14年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.