我尝试ulimit -u 2000
修改ulimit -Su 2000
'最大进程数',并启动了我的程序,但失败了。我发现文件'/proc/pid/limit'仍然是:
Max processes 1024 2000 processes
如何更改软限制?
答案1
显示什么ulimit -a
?
您可能已达到全局最大限制或遇到权限问题。我尝试了你的实验,它对我来说效果很好。
例子
a 的输出/proc/pid/limits
如下所示:
$ cat /proc/22666/limits | grep processes
Max processes 1024 62265 processes
$ ulimit -a | grep processes
max user processes (-u) 1024
将软限制设置为 2000:
$ ulimit -Su 2000
$ ulimit -a | grep processes
max user processes (-u) 2000
$ cat /proc/22666/limits | grep processes
Max processes 2000 62265 processes
还有什么?
我会查看您的/etc/security/limits.conf
文件,看看该文件是否存在限制,导致普通用户无法更改此限制
我还会查看目录,/etc/security/limit.d/
.经常会有其他文件包含更多限制。例如,在我的 Fedora 系统上,我有这个文件:
$ cat /etc/security/limits.d/90-nproc.conf
# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.
* soft nproc 1024