zoukankan      html  css  js  c++  java
  • linux系统出现Too many open files 错误、linux too many open files

    故障一、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

  • 相关阅读:
    请求接口时params和data的区别
    深拷贝
    react学习笔记---父子组件间值得传递
    表单验证自定义二选一
    vue数据复杂时的表单验证
    jq获取路径参数的方法
    删除对象中的元素的方法
    iOS的URL处理
    cocoapod的下载安装解释
    初探博客园
  • 原文地址:https://www.cnblogs.com/wgkgood/p/2066709.html
Copyright © 2011-2022 走看看