解決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時,問題解決 。煩人的提示再也不有 。配置

相關文章
相關標籤/搜索