操作系统:rhel 6  centos6上也存在这样的问题

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  查看打开的进程数