su切换到用户user1报无法设置用户ID:资源暂时不可用错误

问题是出在:在/etc/security/limits.d目录下,rhel6和centos6下面多了个文件:90-nproc.config
此文件内容:

#Default limit for number of user's processes to prevent
#accidental fork bombs.
#See rhbz #432903 for reasoning.

*          soft    nproc     1024

这里限制了1024呀,注释或者将1024值改大,保存退出,立即生效,再试试su到user1,问题解决。不过为什么加这个文件,没弄清楚,在rhel 5上有这个目录,但是没有这个文件

当然你的/etc/security/limits.conf配置的用户允许打开的文件句柄数也不能太小,是吧

cat /etc/security/limits.conf

user1  soft    nproc   4094

user1  hard    nproc   32768

user1   soft    nofile  2048

user1   hard    nofile  131072

也可以使用ulimit –a查看相关的配置

==========================================================================================================================

Linux下运行tomcat出现java.net.SocketException: 打开的文件过多错误

tomcat报“too many open files”的错误,解决办法如下:

报此错误是由于系统内核对进程打开文件个数的限制,默认为1024

[root@localhost ~]# ulimit -n 
1024 

修改参数,增大这个限制:

#vi /etc/security/limits.conf 
  
增加下面这一行内容: 
  
  *                -       nofile          65535 
将限制增加到65535 

注意"nofile"项有两个可能的限制措施。就是项下的hard和soft。 要使修改过得最大打开文件数生效,必须对这两种限制进行设定。 如果使用"-"字符设定, 则hard和soft设定会同时被设定。 硬限制表明soft限制中所能设定的最大值。 soft限制指的是当前系统生效的设置值。 hard限制值可以被普通用户降低。但是不能增加。 soft限制不能设置的比hard限制更高。 只有root用户才能够增加hard限制值。

重启机器使修改配置生效

[root@localhost ~]# ulimit -n 
65535 

ps -fe|wc -l 查看打开的进程数