AIX关于Weblogic的报错"Too many open files"的处理
[
|
2008/02/25 11:56]
|
2008/02/25 11:56]
AIX关于Weblogic的报错"Too many open files"的处理
一顿搜索得知如下:"Too many open files"的产生是操作系统对于一个进程所能打开的文件数进行了限制。在AIX里面相关的东西如下:命令ulimit,文件/etc/security/limits
这里注意一个问题。系统默认值default是个最大值,如果用户本身做了相应设定,是不能超过系统的默认值的(超过也无效),需要修改放大系统的默认值。才能真正生效。同时说明如果想让修改生效,需要重新启动系统。
追加:仅仅系统还不够还要修改Weblogic的初始化参数脚本./weblogic92/common/bin/commEnv.sh。如下:
maxfiles=`ulimit -H -n`
if [ "$?" = "0" -a `expr ${maxfiles} : '[0-9][0-9]*$'` -eq 0 ]; then
ulimit -n 1024 (放大它到32768)
fi
引用的一个链接:http://blog.chinaunix.net/u/10516/showart.php?id=475961
AIX 用户使用的系统资源限制包括两个概念 --- 硬限制(hard limits) 和软限制(soft limits)。
hard limits自AIX 4.1版本开始引入。hard limits 应由AIX系统管理员设置,只有security组的成员可以将此值增大,用户本身可以减小此限定值,但是其更改将随着该用户从系
统退出而失效。使用下列命令可以查看hard limits的限定值:
ulimit -Ha
soft limits 是AIX核心使用的限制进程对系统资源的使用的上限值。此值可由任何人更改,但不能超出hard limits值。这里要注意的是只有security组的成员可使更改永久生效
,普通用户的更改在其退出系统后将失效。使用以下命令可以查看soft limits的设置:
ulimit -a
下面为系统的soft limits的默认值:
3.2 4.1-4.3
=============== =================
fsize = 2097151 fsize = 2097151
core = 2048 core = 2048
cpu = 3600 cpu = -1
data = 131072 data = 262144
rss = 65536 rss = 65536
stack = 8192 stack = 65536
nofiles = 2000* nofiles=2000 *
* 该值(nofiles)只能在AIX 4.3.1 或以后的版本中更改。
上述定义作为默认值存放在文件 /etc/security/limits 中,在新用户被加进系统后生效。直接更改此文件中的定义值需要将系统重新启动以便使更改生效。将相应值该为"-1" 表
示不受 soft limits的限制(unlimited)。
下面我们将就各字段逐一进行介绍:
fsize 用户创建的文件大小限制。此定义值(512字节为单位)为该用户可以生成的最大文件的大小。
core 生成的core文件大小的限制(512字节为单位)。
cpu 用户进程可用cpu的限定值(以秒为单位)。普通用户只能将此值减小,root可以将此值增大。这里要注意的是进程使用CPU的时间取决于AIX Kernel(核心程序)进程调度算
法,该值在此仅做参考。
data 进程数据段大小的限定值(以字节为单位)。
stack 进程堆栈段大小的限定值(以字节为单位)。
rss 进程常驻内存段的限定值(以字节为单位)。AIX核心并不参考此限定。
nofiles 进程中打开文件的最大数量。此限定在AIX 4.3.1之前的版本中固定为2000。在AIX 4.3.1及其之后的版本中可将此值增大至32767。
下面介绍三种修改上述限定值的方法:
1. 编辑文件/etc/security/limits,直接修改各定义值。此更改在系统重新启动后生效。
2. 使用命令ulimit修改默认值。例如:
ulimit -f value
ulimit -c <value>
ulimit -t <value>
ulimit -d <value>
ulimit -s <value>
ulimit -m <value>
ulimit -n <value>
将修改fsize, core, cpu,data, stack, rss和nofiles的soft limit值。
3. 使用命令chuser修改某用户的限定值。例如:
chuser fsize=<value> <username>
chuser core=<value> <username
chuser cpu=<value> <username>
chuser data=<value> <username>
chuser limit=<value> <username>
chuser rss=<value> <username>
chuser nofiles=<value> <username>
将用户“username”的soft limits改为值“value”。
chuser hard_fsize=<value> <username>
chuser hard_core=<value> <username>
chuser hard_cpu=<value> <username>
chuser hard_data=<value> <username>
chuser hard_limit=<value> <username>
chuser hard_rss=<value> <username>
chuser hard_nofiles=<value> <username>
将用户“username”的hard limits改为值“value”。
我做了如下修改:
vi /etc/security/limits
default:
fsize = 2097151
core = 2097151
cpu = -1
data = 262144
rss = 65536
stack = 65536
nofiles = 2000 (修改放大到32768)
然后重启系统。真想知道,如果不启动系统,怎样可以立即生效呢。Linux可以让内核参数立即生效的。不知道AIX如何处理。
追加:查看进程打开的文件的个数。AIX下面默认没有这个命令。Linux下面有。
lsof -p pid | wc -l
[root@kook ~]# man -k lsof
lsof (8) - list open files
lsof (rpm) - A utility which lists open files on a Linux/UNIX system.
本文链接:http://www.52zhe.cn/read.php/157.htm
本文作者:kook(若就博客内所涉及的技术问题交流,请用下面的MSN或Gmail联系我)
联系方式:(MSN:kook#live.com) (Google talk:kookliu)
没有版权:GNU,转载时请注明“转载人”欠本人一顿饭,来日见面之时兑现!谢谢合作!
一顿搜索得知如下:"Too many open files"的产生是操作系统对于一个进程所能打开的文件数进行了限制。在AIX里面相关的东西如下:命令ulimit,文件/etc/security/limits
这里注意一个问题。系统默认值default是个最大值,如果用户本身做了相应设定,是不能超过系统的默认值的(超过也无效),需要修改放大系统的默认值。才能真正生效。同时说明如果想让修改生效,需要重新启动系统。
追加:仅仅系统还不够还要修改Weblogic的初始化参数脚本./weblogic92/common/bin/commEnv.sh。如下:
maxfiles=`ulimit -H -n`
if [ "$?" = "0" -a `expr ${maxfiles} : '[0-9][0-9]*$'` -eq 0 ]; then
ulimit -n 1024 (放大它到32768)
fi
引用的一个链接:http://blog.chinaunix.net/u/10516/showart.php?id=475961
AIX 用户使用的系统资源限制包括两个概念 --- 硬限制(hard limits) 和软限制(soft limits)。
hard limits自AIX 4.1版本开始引入。hard limits 应由AIX系统管理员设置,只有security组的成员可以将此值增大,用户本身可以减小此限定值,但是其更改将随着该用户从系
统退出而失效。使用下列命令可以查看hard limits的限定值:
ulimit -Ha
soft limits 是AIX核心使用的限制进程对系统资源的使用的上限值。此值可由任何人更改,但不能超出hard limits值。这里要注意的是只有security组的成员可使更改永久生效
,普通用户的更改在其退出系统后将失效。使用以下命令可以查看soft limits的设置:
ulimit -a
下面为系统的soft limits的默认值:
3.2 4.1-4.3
=============== =================
fsize = 2097151 fsize = 2097151
core = 2048 core = 2048
cpu = 3600 cpu = -1
data = 131072 data = 262144
rss = 65536 rss = 65536
stack = 8192 stack = 65536
nofiles = 2000* nofiles=2000 *
* 该值(nofiles)只能在AIX 4.3.1 或以后的版本中更改。
上述定义作为默认值存放在文件 /etc/security/limits 中,在新用户被加进系统后生效。直接更改此文件中的定义值需要将系统重新启动以便使更改生效。将相应值该为"-1" 表
示不受 soft limits的限制(unlimited)。
下面我们将就各字段逐一进行介绍:
fsize 用户创建的文件大小限制。此定义值(512字节为单位)为该用户可以生成的最大文件的大小。
core 生成的core文件大小的限制(512字节为单位)。
cpu 用户进程可用cpu的限定值(以秒为单位)。普通用户只能将此值减小,root可以将此值增大。这里要注意的是进程使用CPU的时间取决于AIX Kernel(核心程序)进程调度算
法,该值在此仅做参考。
data 进程数据段大小的限定值(以字节为单位)。
stack 进程堆栈段大小的限定值(以字节为单位)。
rss 进程常驻内存段的限定值(以字节为单位)。AIX核心并不参考此限定。
nofiles 进程中打开文件的最大数量。此限定在AIX 4.3.1之前的版本中固定为2000。在AIX 4.3.1及其之后的版本中可将此值增大至32767。
下面介绍三种修改上述限定值的方法:
1. 编辑文件/etc/security/limits,直接修改各定义值。此更改在系统重新启动后生效。
2. 使用命令ulimit修改默认值。例如:
ulimit -f value
ulimit -c <value>
ulimit -t <value>
ulimit -d <value>
ulimit -s <value>
ulimit -m <value>
ulimit -n <value>
将修改fsize, core, cpu,data, stack, rss和nofiles的soft limit值。
3. 使用命令chuser修改某用户的限定值。例如:
chuser fsize=<value> <username>
chuser core=<value> <username
chuser cpu=<value> <username>
chuser data=<value> <username>
chuser limit=<value> <username>
chuser rss=<value> <username>
chuser nofiles=<value> <username>
将用户“username”的soft limits改为值“value”。
chuser hard_fsize=<value> <username>
chuser hard_core=<value> <username>
chuser hard_cpu=<value> <username>
chuser hard_data=<value> <username>
chuser hard_limit=<value> <username>
chuser hard_rss=<value> <username>
chuser hard_nofiles=<value> <username>
将用户“username”的hard limits改为值“value”。
我做了如下修改:
vi /etc/security/limits
default:
fsize = 2097151
core = 2097151
cpu = -1
data = 262144
rss = 65536
stack = 65536
nofiles = 2000 (修改放大到32768)
然后重启系统。真想知道,如果不启动系统,怎样可以立即生效呢。Linux可以让内核参数立即生效的。不知道AIX如何处理。
追加:查看进程打开的文件的个数。AIX下面默认没有这个命令。Linux下面有。
lsof -p pid | wc -l
[root@kook ~]# man -k lsof
lsof (8) - list open files
lsof (rpm) - A utility which lists open files on a Linux/UNIX system.
本文链接:http://www.52zhe.cn/read.php/157.htm
本文作者:kook(若就博客内所涉及的技术问题交流,请用下面的MSN或Gmail联系我)
联系方式:(MSN:kook#live.com) (Google talk:kookliu)
没有版权:GNU,转载时请注明“转载人”欠本人一顿饭,来日见面之时兑现!谢谢合作!
ubuntu初始化iptables的做法。
OpenSwan的Requirements



