我尝试了ulimit -u 2000和ulimit -Su 2000来修改’Max processes’,并启动了我的程序,但失败了.我发现文件’/ proc / pid / limit’仍然是:
Max processes 1024 2000 processes
我怎么能改变软限制?
解决方法:
ulimit -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
参考
> How do I increase the open files limit for a non-root user?