AIX:"Too many open files"的处理(Socket timeout)

标签:
it |
分类: linux |
原文地址:http://linux.52zhe.info/go.php/category/8/1/1/
一顿搜索得知如下:"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.
一顿搜索得知如下:"Too many open files"的产生是操作系统对于一个进程所能打开的文件数进行了限制。在AIX里面相关的东西如下:命令ulimit,文件/etc/security/limits
这里注意一个问题。系统默认值default是个最大值,如果用户本身做了相应设定,是不能超过系统的默认值的(超过也无效),需要修改放大系统的默认值。才能真正生效。同时说明如果想让修改生效,需要重新启动系统。
追加:仅仅系统还不够还要修改Weblogic的初始化参数脚本./weblogic92/common/bin/commEnv.sh。如下:
引用的一个链接: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的限定值:
soft limits 是AIX核心使用的限制进程对系统资源的使用的上限值。此值可由任何人更改,但不能超出hard limits值。这里要注意的是只有security组的成员可使更改永久生效
,普通用户的更改在其退出系统后将失效。使用以下命令可以查看soft limits的设置:
下面为系统的soft limits的默认值:
3.2
===============
fsize = 2097151
core = 2048
cpu = 3600
data = 131072
rss = 65536
stack = 8192
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修改默认值。例如:
将修改fsize, core, cpu,data, stack, rss和nofiles的soft limit值。
3. 使用命令chuser修改某用户的限定值。例如:
将用户“username”的soft limits改为值“value”。
我做了如下修改:
vi /etc/security/limits
default:
然后重启系统。真想知道,如果不启动系统,怎样可以立即生效呢。Linux可以让内核参数立即生效的。不知道AIX如何处理。
追加:查看进程打开的文件的个数。AIX下面默认没有这个命令。Linux下面有。
lsof -p pid | wc -l
[root@kook ~]# man -k lsof
lsof
lsof
AIX 5.3 安装 weblogic 9.2 中文版本 Oracle10g R2中文版本安装记录。含自启动部分。
[http://linux.52zhe.info/images/weather/blank.gif 2007/09/18 17:09]
AIX 5.3 安装 weblogic 9.2 中文版本 Oracle10g
R2中文版本安装记录。含自启动部分。
操作系统:aix5.3
硬件:IBM,9110-51A
主机名:fundoa.glfsoft.com
ip: 192.168.101.248
mac:0.11.25.c5.a1.20
逻辑卷 rootvg 使用 2个物理卷PV 大小均为146800 MB
初步调整逻辑卷LV,如下:
/home10000M
/usr 10000M
/opt 80000M
/tmp 5000M
安装说明:
安装系统后,通过xmanager远程管理AIX主机,图形化安装weblogic和oracle,安装过程时可以另外开1个root的文本终端.下个版本提供完全文本类型的安装方法。
AIX的安装选择全新安装。其它选择默认即可。
所需软件及文档:
1:jdk的下载,如果Oracle中使用EM,请下载64位的JDK版本
http://www.ibm.com/developerworks/java/jdk/aix/service.html
2:weblogic 9.2 中文版本 for aix 5.3
http://commerce.bea.com/showallversions.jsp?family=WLSCH
3:oracle下载
http://www.oracle.com/technology/software/products/database/oracle10g/htdocs/10201aixsoft.html
4:oracle的参考文档
http://www.oracle.com/pls/db102/homepage
########################################################################################################
# weblogic server 9.2 安装部分
########################################################################################################
安装思路:创建weblogic的用户,以此用户安装相应的程序,未来的使用中以此用户管理weblogic相应的服务。
具体步骤:
1:添加组、用户,用root创建密码,并以此用户进行一次登录,并依照提示进行首次登录的密码修改。
# mkgroup bea
# useradd -g bea -m weblogic
# passwd weblogic
cmd> telnet 192.168.101.248
AIX Version 5
(C) Copyrights by IBM and by others 1982, 2005.
login: weblogic
weblogic's Password:
[compat]: 3004-610 You are required to change your password.
Please choose a new one.
weblogic's New password:
Enter the new password again:
2:修改LV大小,并创建weblogic Server的安装目录。
# chfs -a size=10000M /home
# chfs -a size=10000M /usr
# chfs -a size=80000M /opt
# chfs -a size=5000M /tmp
# cd /opt
# mkdir bea
# chown weblogic.bea bea
3:上传文件,通过FTP,以用户weblogic,传至其主目录。
自己选择适合的方式。文件2个.
如下:server921_ccjk_generic.jar和Java5.sdk.tar.gz
4:以用户welogic解压文件,以root安装JRE。
# gunzip Java5_64.sdk.tar.gz
# tar xvf Java5_64.sdk.tar
以root安装smitty install 选择解压包的位置,安装JDK5.记得选择“ACCEPT new license agreements?”,修改为“yes”.
5:修改/etc/environment,修改PATH和添加JAVA_HOME变量,如下:
vi /etc/environment
PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11:/sbin:/usr/java5_64/jre/bin:/usr/java5_64/bin
JAVA_HOME=/usr/java5_64
为保障变量生效,请重新登录。如果有source命令,可以执行一次source /etc/environment
测试一下,是否成功:
$ echo $JAVA_HOME
/usr/java5_64
至此,OK。
6:以用户weblogic安装weblogic server 9.2中文版
$ java -jar -Xmx2048mserver921_ccjk_generic.jar
以下图形化,略。记得修改安装路径:/opt/bea
附注:如果以字符模式安装,加上参数 -mode=console
下面的就不多说了。跟普通安装weblogic没有什么区别。
安装后,无需执行quickstart.sh,
直接创建新的域吧/opt/bea/weblogic92/common/bin/config.sh
创建域:fundoa.glfsoft.comuser/pw :
weblogic/weblogic
7:以weblogic创建日志,以root添加自启动vi /etc/inittab。
$ mkdir /home/weblogic/bin
$ mkdir /home/weblogic/log
$ touch /home/weblogic/bin/start.sh /home/weblogic/log/weblogic.log
# vi /etc/inittab
# weblogic:2:respawn:/opt/bea/user_projects/domains/fundoa.glfsoft.com/startWebLogic.sh > /home/weblogic/log/weblogic.log 2>&1
########################################################################################################
# Oracle 10g安装部分
########################################################################################################
安装思路:依照英文文档,首先检查安装前的硬件要求,软件要求,添加Oracle用户组,执行相关Oracle命令。
1:扩展SWAP,并将物理卷PV加入卷组rootvg中
# extendlv hd6 5
# extendlv paging00 5
# lsps -a
Page Space
Physical Volume Volume Group
Size %Used Active
Auto Type
paging00
hdisk0
rootvg
1536MB
2 yes yes
lv
hd6
hdisk1
rootvg
1536MB 1
yes yes
lv
# extendvg rootvg hdisk1
# lsvg rootvg
VOLUME GROUP:
rootvg
VG IDENTIFIER:
00c0586000004c0000000114aa1415f8
VG STATE:
active
PP SIZE:
256
megabyte(s)
VG PERMISSION:
read/write
TOTAL PPs:
1092 (279552 megabytes)
MAX LVs:
256
FREE PPs:
1076 (275456 megabytes)
LVs:
10
USED PPs:
16 (4096 megabytes)
OPEN LVs:
9
QUORUM:
2
TOTAL PVs:
2
VG DESCRIPTORS: 3
STALE PVs:
0
STALE PPs:
0
ACTIVE PVs:
2
操作系统:aix5.3
硬件:IBM,9110-51A
主机名:fundoa.glfsoft.com
ip: 192.168.101.248
逻辑卷 rootvg 使用 2个物理卷PV 大小均为146800 MB
初步调整逻辑卷LV,如下:
/home
/usr
/opt
/tmp
安装说明:
安装系统后,通过xmanager远程管理AIX主机,图形化安装weblogic和oracle,安装过程时可以另外开1个root的文本终端.下个版本提供完全文本类型的安装方法。
AIX的安装选择全新安装。其它选择默认即可。
所需软件及文档:
1:jdk的下载,如果Oracle中使用EM,请下载64位的JDK版本
http://www.ibm.com/developerworks/java/jdk/aix/service.html
2:weblogic 9.2 中文版本 for aix 5.3
http://commerce.bea.com/showallversions.jsp?family=WLSCH
3:oracle下载
http://www.oracle.com/technology/software/products/database/oracle10g/htdocs/10201aixsoft.html
4:oracle的参考文档
http://www.oracle.com/pls/db102/homepage
########################################################################################################
# weblogic server 9.2 安装部分
########################################################################################################
安装思路:创建weblogic的用户,以此用户安装相应的程序,未来的使用中以此用户管理weblogic相应的服务。
具体步骤:
1:添加组、用户,用root创建密码,并以此用户进行一次登录,并依照提示进行首次登录的密码修改。
# mkgroup bea
# useradd -g bea -m weblogic
# passwd weblogic
cmd> telnet 192.168.101.248
AIX Version 5
(C) Copyrights by IBM and by others 1982, 2005.
login: weblogic
weblogic's Password:
[compat]: 3004-610 You are required to change your password.
weblogic's New password:
Enter the new password again:
2:修改LV大小,并创建weblogic Server的安装目录。
# chfs -a size=10000M /home
# chfs -a size=10000M /usr
# chfs -a size=80000M /opt
# chfs -a size=5000M /tmp
# cd /opt
# mkdir bea
# chown weblogic.bea bea
3:上传文件,通过FTP,以用户weblogic,传至其主目录。
自己选择适合的方式。文件2个.
如下:server921_ccjk_generic.jar和Java5.sdk.tar.gz
4:以用户welogic解压文件,以root安装JRE。
# gunzip Java5_64.sdk.tar.gz
# tar xvf Java5_64.sdk.tar
以root安装smitty install 选择解压包的位置,安装JDK5.记得选择“ACCEPT new license agreements?”,修改为“yes”.
5:修改/etc/environment,修改PATH和添加JAVA_HOME变量,如下:
vi /etc/environment
PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11:/sbin:/usr/java5_64/jre/bin:/usr/java5_64/bin
JAVA_HOME=/usr/java5_64
为保障变量生效,请重新登录。如果有source命令,可以执行一次source /etc/environment
测试一下,是否成功:
$ echo $JAVA_HOME
/usr/java5_64
至此,OK。
6:以用户weblogic安装weblogic server 9.2中文版
$ java -jar -Xmx2048m
以下图形化,略。记得修改安装路径:/opt/bea
附注:如果以字符模式安装,加上参数 -mode=console
下面的就不多说了。跟普通安装weblogic没有什么区别。
安装后,无需执行quickstart.sh,
直接创建新的域吧/opt/bea/weblogic92/common/bin/config.sh
创建域:fundoa.glfsoft.com
7:以weblogic创建日志,以root添加自启动vi /etc/inittab。
$ mkdir /home/weblogic/bin
$ mkdir /home/weblogic/log
$ touch /home/weblogic/bin/start.sh /home/weblogic/log/weblogic.log
# vi /etc/inittab
# weblogic:2:respawn:/opt/bea/user_projects/domains/fundoa.glfsoft.com/startWebLogic.sh > /home/weblogic/log/weblogic.log 2>&1
########################################################################################################
# Oracle 10g
########################################################################################################
安装思路:依照英文文档,首先检查安装前的硬件要求,软件要求,添加Oracle用户组,执行相关Oracle命令。
1:扩展SWAP,并将物理卷PV加入卷组rootvg中
# extendlv hd6 5
# extendlv paging00 5
# lsps -a
Page Space
paging00
hd6
# extendvg rootvg hdisk1
# lsvg rootvg
VOLUME GROUP:
VG STATE:
VG PERMISSION:
MAX LVs:
LVs:
OPEN LVs:
TOTAL PVs:
STALE PVs:
ACTIVE PVs: