我正在尝试将/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中设置的“硬”值,而在破坏的情况下,它们都等于“软”值。
感谢任何帮助/参考。
答案 0 :(得分:1)
问题可能出现,因为后台长时间运行的tmux服务器甚至可以在活动会话的注销/登录时继续存在。
每当您创建新的tmux会话时,它们都是在现有后台服务器进程中创建的,因此使用旧限制。
尝试终止所有正在运行的tmux进程。 另外,您可能需要阅读此https://unix.stackexchange.com/questions/108603/do-changes-in-etc-security-limits-conf-require-a-reboot