我正在尝试将/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 session 中运行相同的程序时(“间接”,与上述相反),它是不同的:
cat /proc/2286/limits
Limit Soft Limit Hard Limit Units
...
Max stack size 10485760 10485760 bytes
...
tmux 有不同的特权吗?我注意到的奇怪的事情是在工作案例中,软限制和硬限制都等于我在 limits.conf 中设置的“硬”值,而在损坏的情况下都等于“软”值。
感谢任何帮助/引用。
最佳答案
问题的出现可能是因为 tmux 服务器在后台长时间运行,它甚至在事件 session 的注销/登录后仍然存在。
每当您创建新的 tmux session 时,它们都会在现有的后台服务器进程中创建,因此使用旧的限制。
尝试杀死所有正在运行的 tmux 进程。 此外,您可能想阅读此 https://unix.stackexchange.com/questions/108603/do-changes-in-etc-security-limits-conf-require-a-reboot
关于linux - 从 tmux session 运行的进程有不同的资源限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37779824/