rhel 7はスタックサイズを無制限に設定します。

rhel 7はスタックサイズを無制限に設定します。

実行するためにスタックが8192kbに制限されてはならないいくつかの古いコードがあります。私はこの仕事に慣れています/etc/security/limits.conf

* stack   hard    unlimited
* stack   soft    unlimited

ただし、bashシェルを持つローカルアカウントを使用するRHEL 7.9では、操作を実行するとulimit -sまだ応答します8192。それではLimits.confを修正しても効果がないようです。

Bashシェルがある端末ウィンドウでulimit -s unlimitedコードを最初に実行してから実行すると、コードが正しく実行されます。

RHEL 7.9のすべてのユーザーに対してスタックサイズをグローバルに無制限に設定する最善の方法は何ですか?

私が何かを見逃しているのか、ulimit同じこと/etc/security/limits.confなのか?

答え1

使用限界値制限を設定するコマンドは、現在作成されているプロセス(シェル)とその子プロセスの制限のみを変更します。

たとえば、次のような場合:

#With root
ulimit -s unlimited
#Switch to other user 
su - <user>
ulimit -s  ## unlimited ; because this still be a child process

しかし、そうするなら:

  #With root
  ulimit -s unlimited
  #Logout
  logout
  #Login as the other user then execute the following
  ulimit -s ## 8192

使用/etc/security/limits.conf永久に設定されますが、適用するには再度ログイン(新しいセッション)する必要があります。

スタックを設定した場合/etc/security/limits.conf 無効です。上書きされていることを確認してください。/etc/security/limits.d/または、プロファイル ~/.bash_profile ~/.bashrc を見てください。

上記の項目が/で利用可能であることを確認してください。etc/pam.d/パスワードの確認そして/etc/pam.d/system-authそれでは確かですか?/etc/security/limits.conf荷を積んだ:

session requires pam_limits.so

関連情報