web-dev-qa-db-ja.com

ulimitはどのようにしてその場で有効になりますか?

に2行追加しました

/etc/security/limits.conf

myuser soft nofile 16384
myuser hard nofile 16384

...効果はありません:

su -
sysctl -p
su myuser
ulimit -n
1024

これは、ユーザーが最初にログインしなくても有効になることが重要です。つまり、rootとしてユーザーに代わってスクリプトを開始します。

4
recalcitrant

これを/etc/security/limits.confに追加します。

*               soft    nofile          16384
*               hard    nofile          16384

そして、このようなものを/ etc/profileに追加すると、システム全体ですべてのアカウントに適用されます。

ulimit -n 16384

ただし、sshやsuなどのツールがlimits.confファイルに従うためには、対応するpam.dファイルがまだない場合は、以下を追加する必要があります。つまり、suの場合は/etc/pam.d/suに追加します。 sshの場合は/etc/pam.d/sshdに追加します。

session    required     /lib/security/pam_limits.so

上記のpam.d編集を適切なファイルに実行するだけで、特定の問題が解決される可能性があると思います。

2
aseq

他のすべてが失敗した場合、スクリプトはmyuserとして次のことを許可しますか。

ulimit -SHn 16384
0

/etc/security/limits.confでの変更が効果がないように思われる場合は、/ etc/security/limits.d /に自分の制限設定を上書きするファイルが含まれているかどうかを確認してください。

/etc/security/limits.d/にあるファイルで構成されている制限を上書きする必要がある場合は、そのディレクトリに、既存のファイルよりもアルファベット順にソートされた名前で独自のファイルを作成することをお勧めします。システムはファイルを英数字順に読み取り、同じ制限に対して複数の構成がある場合、後の設定が前の設定を上書きします。

0
telcoM

これらの行を試してみてください。

    • nofile 16384

そして、それがどのように機能するかを見てください。

ユーザーの.bashrcまたはその他のファイルに設定はありますか?.

0