linux系统出现Too many open files 错误、linux too many open files
2011-03-02 16:42
489 查看
故障一、linux too many open files
linux系统出现Too many open files 错误,这是因为文件描述符大小不够,或者有不正常的网络连接(Socket也是一种特殊的文件)、文件IO没有关闭并释放出文件描述符(文件句柄,File Operator)。
使用如下命令查看系统对允许打开最大文件描述符的配置:
ulimit -u 查看open files设置
ulimit -a 查看所有设置
ulimit -u 65535(新的open files 值)修改设置
ulimit -n 65536 设置用户可以同时打开的最大文件数(max open files)
如果本参数设置过小,对于并发访问量大的网站,可能会出现too many open files的错误
使用lsof -p pid [httpd进程的 pid、java的pid]来查看系统中apache进程和java运行时进程当前打开的文件资源,发现两者之和已经接近1024,大于了默认的设置。
修改配置:
修改/etc/security/limits.conf,在文件末加上
* soft nofile 65536
* hard nofile 65536
系统级文件描述符极限还可以通过将以下三行添加到 /etc/rc.d/rc.local 启动脚本中来设置:
# Increase system-wide file descriptor limit.
echo 65536 > /proc/sys/fs/file-max
echo 65536 > /proc/sys/fs/inode-max
二、tomcat 性能优化,连接数调整
1, Tomcat内存参数配置
如果是Win与Linux系统启动Tomcat服务器,需要在tomcat/bin/catalina.sh与/tomcat/bin/catalina.bat两个文件:在两个文件里面加如:
SET CATALINA_OPTS= -Xms64m -Xmx128m
2, Tomcat连接数配置
配置Tomcat连接数.需要在Server.xml文件里面加如:
maxThreads=”150″ 表示最多同时处理150个连接
minSpareThreads=”25″ 表示即使没有人使用也开这么多空线程等待
maxSpareThreads=”75″ 表示如果最多可以空75个线程,例如某时刻有80人访问,之后没有人访问了,则tomcat不会保留80个空线程,而是关闭5个空的。
acceptCount=”100″ 当同时连接的人数达到maxThreads时,还可以接收排队的连接,超过这个连接的则直接返回拒绝连接。
connectionTimeout=”20000″ maxThreads=”150″
minSpareThreads=”25″
maxSpareThreads=”75″
enableLookups=”false”
acceptCount=”100″ debug=”0″
disableUploadTimeout=”true”
redirectPort=”8443″ URIEncoding=”UTF-8″/>
URIEncoding=”UTF-8″ 是设定JSP编码格式
原文来自 http://blog.mgcrazy.com/?page_id=10
linux系统出现Too many open files 错误,这是因为文件描述符大小不够,或者有不正常的网络连接(Socket也是一种特殊的文件)、文件IO没有关闭并释放出文件描述符(文件句柄,File Operator)。
使用如下命令查看系统对允许打开最大文件描述符的配置:
ulimit -u 查看open files设置
ulimit -a 查看所有设置
ulimit -u 65535(新的open files 值)修改设置
ulimit -n 65536 设置用户可以同时打开的最大文件数(max open files)
如果本参数设置过小,对于并发访问量大的网站,可能会出现too many open files的错误
使用lsof -p pid [httpd进程的 pid、java的pid]来查看系统中apache进程和java运行时进程当前打开的文件资源,发现两者之和已经接近1024,大于了默认的设置。
修改配置:
修改/etc/security/limits.conf,在文件末加上
* soft nofile 65536
* hard nofile 65536
系统级文件描述符极限还可以通过将以下三行添加到 /etc/rc.d/rc.local 启动脚本中来设置:
# Increase system-wide file descriptor limit.
echo 65536 > /proc/sys/fs/file-max
echo 65536 > /proc/sys/fs/inode-max
二、tomcat 性能优化,连接数调整
1, Tomcat内存参数配置
如果是Win与Linux系统启动Tomcat服务器,需要在tomcat/bin/catalina.sh与/tomcat/bin/catalina.bat两个文件:在两个文件里面加如:
SET CATALINA_OPTS= -Xms64m -Xmx128m
2, Tomcat连接数配置
配置Tomcat连接数.需要在Server.xml文件里面加如:
maxThreads=”150″ 表示最多同时处理150个连接
minSpareThreads=”25″ 表示即使没有人使用也开这么多空线程等待
maxSpareThreads=”75″ 表示如果最多可以空75个线程,例如某时刻有80人访问,之后没有人访问了,则tomcat不会保留80个空线程,而是关闭5个空的。
acceptCount=”100″ 当同时连接的人数达到maxThreads时,还可以接收排队的连接,超过这个连接的则直接返回拒绝连接。
connectionTimeout=”20000″ maxThreads=”150″
minSpareThreads=”25″
maxSpareThreads=”75″
enableLookups=”false”
acceptCount=”100″ debug=”0″
disableUploadTimeout=”true”
redirectPort=”8443″ URIEncoding=”UTF-8″/>
URIEncoding=”UTF-8″ 是设定JSP编码格式
原文来自 http://blog.mgcrazy.com/?page_id=10
相关文章推荐
- 运行在Linux系统上的Java程序可能会出现"Too many open files"
- Linux中的错误:too many open files
- 解决Linux中出现Too many open files
- 在liunx下经常出现java.net.SocketException: Too many open files错误是什么原因
- go 服务器出现too many open files的错误
- 解决Linux中出现Too many open files
- 简单修改Linux系统文件描述符限制(Too many open files)
- 解决Linux中出现Too many open files
- Linux 下Tomcat运行一段时间报java.net.SocketException: Too many open files的错误问题解决
- 简单修改Linux系统文件描述符限制(Too many open files)
- Linux中的错误:too many open files
- aix上tomcat出现“too many open files”错误
- Linux open too many files
- linux日志显示too many open files
- Linux :Oracle su: /bin/bash: Too many open files in system
- Linux: socket accept - "Too many open files"
- java.io.IOException: Too many open files错误解决方案
- Linux报“too many open files”的错误
- Linux进程打开文件数太多(too many open files)的问题
- 在Linux中打开了太多文件(Too many open files)的解决方法