我正在尝试将/etc/security/limits.conf 中的堆栈限制更改为以下内容:
<my_user_name> soft stack 102400
<my_user_name> hard stack 204800
当我直接在该主机上运行进程(将在下面解释间接内容)时,这有效:
cat /proc/13524/limits
Limit Soft Limit Hard Limit Units
...
Max stack size 209715200 209715200 bytes
...
但是当我从 tmux 会话中运行相同的程序时("间接",与上述相反),它是不同的:
cat /proc/2286/limits
Limit Soft Limit Hard Limit Units
...
Max stack size 10485760 10485760 bytes
...
tmux 有不同的特权吗?我注意到的奇怪事情是在工作情况下,软限制和硬限制都等于我在 limits.conf 中设置的"硬"值,而在损坏的情况下都等于"软"值。
任何帮助/参考不胜感激。
由于后台长时间运行的 tmux 服务器甚至在活动会话的注销/登录中幸存下来,可能会出现此问题。
每当创建新的 tmux 会话时,它们都会在现有后台服务器进程中创建,因此使用旧限制。
尝试终止所有正在运行的 tmux 进程。另外,您可能想阅读此 https://unix.stackexchange.com/questions/108603/do-changes-in-etc-security-limits-conf-require-a-reboot