解决SSH登录 Write failed: Broken pipe的办法

再经过su - www时,提示以下:linux

su: cannot set user id: Resource temporarily unavailable

首先去查看了下/etc/profile文件,也有以下的ulimit配置:centos

ulimit -S -c 0 > /dev/null 2>&1 ulimit -HSn 65000 ulimit -u 65000

注:后面的-u参数为最大进程数,若是惧怕其余用户经过fork死循环耗完本机资源,能够适当减小该值。默认该值为1024 。进程

接着看/etc/security/limits.conf 文件,发现其下面已新增了nofile的值 ,以下:资源

www soft nproc 65535 www hard nproc 65535 * soft nofile 65535 * hard nofile 65535

注:limits.conf文件实际上就是ulimit命令的配置文件。nproc为打开的最大进程数,nofile为打开的最大文件数。该处和上面的/etc/profile是重复设置的。实现上该处增长了之后,/etc/profile就不用再作配置的,并且该处配置更规范些,能够对用户进行限制 。get

即然以上两处都作了设置,仍是有上面的提示,神奇了。后来又乱折腾了半天,忽然想到以前在centos 6.3版本配置的时候,发现centos 6.X之后新增了一个/etc/security/limits.d/90-nproc.conf 文件,用于控制nproc 。这里面的默认配置是it

* soft nproc 1024 root soft nproc unlimited

1024大小显然对我运行程序的www用户来讲,太少了点。更改成65535后,再su - www时,问题解决 。烦人的提示再也不有 。配置

相关文章
相关标签/搜索