原文链接:http://www.javaarch.net/jiagoushi/626.htm
java web应用在执行一段时间之后出现了这么个问题
java.net.SocketException: Too many open files at java.net.PlainSocketImpl.socketAccept(Native Method) at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384) at java.net.ServerSocket.implAccept(ServerSocket.java:453) at java.net.ServerSocket.accept(ServerSocket.java:421) at org.apache.tomcat.util.net.DefaultServerSocketFactory.acceptSocket(DefaultServerSocketFactory.java:60) at org.apache.tomcat.util.net.JIoEndpoint$Acceptor.run(JIoEndpoint.java:216)
用ulimit -a看看linux打开文件限制
[admin@test ~]# ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 360448 max locked memory (kbytes, -l) 32 max memory size (kbytes, -m) unlimited open files (-n) 1024 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 10240 cpu time (seconds, -t) unlimited max user processes (-u) 360448 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited
用lsof -p [进程ID] 可以看到某ID的打开文件状况。进程ID可能用 ps -ef|grep java列出
[admin@test ~]# lsof -p 1940 COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME java 1940 admin cwd DIR 0,68 4096 385090717 /admin/apache-tomcat-7.0.39/bin java 1940 admin rtd DIR 0,68 4096 384141801 / java 1940 admin txt REG 0,68 47308 385122308 /admin/jdk1.6.0_13/jre/bin/java java 1940 admin mem REG 202,3 385122339 /admin/jdk1.6.0_13/jre/lib/i386/client/libjvm.so (path dev=0,68) java 1940 admin mem REG 202,3 385122308 /admin/jdk1.6.0_13/jre/bin/java (path dev=0,68) java 1940 admin mem REG 202,3 385122425 /admin/jdk1.6.0_13/jre/lib/i386/client/classes.jsa (path dev=0,68) java 1940 admin mem REG 202,3 385122426 /admin/jdk1.6.0_13/jre/lib/charsets.jar (path dev=0,68) java 1940 admin mem REG 202,3 384959153 /lib/libresolv-2.12.so (path dev=0,68) java 1940 admin mem REG 202,3 384959143 /lib/libnss_dns-2.12.so (path dev=0,68) java 1940 admin mem REG 202,3 385122355 /admin/jdk1.6.0_13/jre/lib/i386/libnio.so (path dev=0,68) java 1940 admin mem REG 202,3 385122354 /admin/jdk1.6.0_13/jre/lib/i386/libnet.so (path dev=0,68) java 1940 admin mem REG 202,3 385122325 /admin/jdk1.6.0_13/jre/lib/ext/sunjce_provider.jar (path dev=0,68) java 1940 admin mem REG 202,3 385122326 /admin/jdk1.6.0_13/jre/lib/ext/sunpkcs11.jar (path dev=0,68) java 1940 admin mem REG 202,3 385122392 /admin/jdk1.6.0_13/jre/lib/jce.jar (path dev=0,68) java 1940 admin mem REG 202,3 385122405 /admin/jdk1.6.0_13/jre/lib/resources.jar (path dev=0,68) java 1940 admin mem REG 202,3 385122391 /admin/jdk1.6.0_13/jre/lib/jsse.jar (path dev=0,68) java 1940 admin mem REG 202,3 385090820 /admin/apache-tomcat-7.0.39/lib/tomcat-dbcp.jar (path dev=0,68) java 1940 admin mem REG 202,3 385090824 /admin/apache-tomcat-7.0.39/lib/tomcat-jdbc.jar (path dev=0,68) java 1940 admin mem REG 202,3 385090821 /admin/apache-tomcat-7.0.39/lib/tomcat-i18n-es.jar (path dev=0,68) java 1940 admin mem REG 202,3 385090816 /admin/apache-tomcat-7.0.39/lib/jsp-api.jar (path dev=0,68) java 1940 admin mem REG 202,3 385090817 /admin/apache-tomcat-7.0.39/lib/servlet-api.jar (path dev=0,68) java 1940 admin mem REG 202,3 385090813 /admin/apache-tomcat-7.0.39/lib/el-api.jar (path dev=0,68) java 1940 admin mem REG 202,3 385090811 /admin/apache-tomcat-7.0.39/lib/catalina.jar (path dev=0,68) java 1940 admin mem REG 202,3 385090812 /admin/apache-tomcat-7.0.39/lib/ecj-4.2.1.jar (path dev=0,68) java 1940 admin mem REG 202,3 385090819 /admin/apache-tomcat-7.0.39/lib/tomcat-coyote.jar (path dev=0,68) java 1940 admin mem REG 202,3 385122356 /admin/jdk1.6.0_13/jre/lib/i386/libmanagement.so (path dev=0,68) java 1940 admin mem REG 202,3 385122440 /admin/jdk1.6.0_13/jre/lib/rt.jar (path dev=0,68) java 1940 admin mem REG 202,3 384500332 /usr/lib/locale/locale-archive-rpm (path dev=0,68) java 1940 admin mem REG 202,3 385122427 /admin/jdk1.6.0_13/jre/lib/ext/localedata.jar (path dev=0,68) java 1940 admin mem REG 202,3 385090825 /admin/apache-tomcat-7.0.39/lib/tomcat-util.jar (path dev=0,68) java 1940 admin mem REG 202,3 385090807 /admin/apache-tomcat-7.0.39/lib/annotations-api.jar (path dev=0,68) java 1940 admin mem REG 202,3 385090815 /admin/apache-tomcat-7.0.39/lib/jasper.jar (path dev=0,68) java 1940 admin mem REG 202,3 385090818 /admin/apache-tomcat-7.0.39/lib/tomcat-api.jar (path dev=0,68) java 1940 admin mem REG 202,3 385090809 /admin/apache-tomcat-7.0.39/lib/catalina-ha.jar (path dev=0,68) java 1940 admin mem REG 202,3 385090814 /admin/apache-tomcat-7.0.39/lib/jasper-el.jar (path dev=0,68) java 1940 admin mem REG 202,3 385090810 /admin/apache-tomcat-7.0.39/lib/catalina-tribes.jar (path dev=0,68) java 1940 admin mem REG 202,3 385090823 /admin/apache-tomcat-7.0.39/lib/tomcat-i18n-ja.jar (path dev=0,68) java 1940 admin mem REG 202,3 385090822 /admin/apache-tomcat-7.0.39/lib/tomcat-i18n-fr.jar (path dev=0,68) java 1940 admin mem REG 202,3 385090808 /admin/apache-tomcat-7.0.39/lib/catalina-ant.jar (path dev=0,68) java 1940 admin mem REG 202,3 385090794 /admin/apache-tomcat-7.0.39/bin/tomcat-juli.jar (path dev=0,68) java 1940 admin mem REG 202,3 385090781 /admin/apache-tomcat-7.0.39/bin/commons-daemon.jar (path dev=0,68) java 1940 admin mem REG 202,3 385090776 /admin/apache-tomcat-7.0.39/bin/bootstrap.jar (path dev=0,68) java 1940 admin mem REG 202,3 385122350 /admin/jdk1.6.0_13/jre/lib/i386/libzip.so (path dev=0,68) java 1940 admin mem REG 202,3 385122346 /admin/jdk1.6.0_13/jre/lib/i386/libjava.so (path dev=0,68) java 1940 admin mem REG 202,3 384959101 /lib/libnss_files-2.12.so (path dev=0,68) java 1940 admin mem REG 202,3 385122345 /admin/jdk1.6.0_13/jre/lib/i386/libverify.so (path dev=0,68) java 1940 admin mem REG 202,3 384959147 /lib/libnsl-2.12.so (path dev=0,68) java 1940 admin mem REG 202,3 385222531 /tmp/hsperfdata_admin/1940 (path dev=0,68) java 1940 admin mem REG 202,3 384959158 /lib/librt-2.12.so (path dev=0,68) java 1940 admin mem REG 202,3 384959112 /lib/libm-2.12.so (path dev=0,68) java 1940 admin mem REG 202,3 384959123 /lib/libc-2.12.so (path dev=0,68) java 1940 admin mem REG 202,3 384958823 /lib/libdl-2.12.so (path dev=0,68) java 1940 admin mem REG 202,3 385122348 /admin/jdk1.6.0_13/jre/lib/i386/jli/libjli.so (path dev=0,68) java 1940 admin mem REG 202,3 384959167 /lib/libpthread-2.12.so (path dev=0,68) java 1940 admin mem REG 202,3 385122332 /admin/jdk1.6.0_13/jre/lib/i386/native_threads/libhpi.so (path dev=0,68) java 1940 admin mem REG 202,3 384959214 /lib/ld-2.12.so (path dev=0,68) java 1940 admin 0r CHR 1,3 384926820 /dev/null java 1940 admin 1w REG 0,68 26134081 385090804 /admin/apache-tomcat-7.0.39/logs/catalina.out java 1940 admin 2w REG 0,68 26134081 385090804 /admin/apache-tomcat-7.0.39/logs/catalina.out java 1940 admin 3r REG 0,68 28615 385090776 /admin/apache-tomcat-7.0.39/bin/bootstrap.jar java 1940 admin 4r CHR 1,8 384926869 /dev/random java 1940 admin 5r CHR 1,9 384926888 /dev/urandom java 1940 admin 6r REG 0,68 24281 385090781 /admin/apache-tomcat-7.0.39/bin/commons-daemon.jar java 1940 admin 7r REG 0,68 38161 385090794 /admin/apache-tomcat-7.0.39/bin/tomcat-juli.jar java 1940 admin 8r REG 0,68 51139867 385122440 /admin/jdk1.6.0_13/jre/lib/rt.jar java 1940 admin 9w REG 0,68 23357 385090941 /admin/apache-tomcat-7.0.39/logs/catalina.2013-05-29.log java 1940 admin 10w REG 0,68 6736 385090942 /admin/apache-tomcat-7.0.39/logs/localhost.2013-05-29.log java 1940 admin 11w REG 0,68 0 385090943 /admin/apache-tomcat-7.0.39/logs/manager.2013-05-29.log java 1940 admin 12w REG 0,68 0 385090944 /admin/apache-tomcat-7.0.39/logs/host-manager.2013-05-29.log java 1940 admin 13r REG 0,68 54176 385090808 /admin/apache-tomcat-7.0.39/lib/catalina-ant.jar java 1940 admin 14r REG 0,68 48693 385090822 /admin/apache-tomcat-7.0.39/lib/tomcat-i18n-fr.jar java 1940 admin 15r REG 0,68 51678 385090823 /admin/apache-tomcat-7.0.39/lib/tomcat-i18n-ja.jar java 1940 admin 34r REG 0,68 618621 385122391 /admin/jdk1.6.0_13/jre/lib/jsse.jar java 1940 admin 35r REG 0,68 88256 385122392 /admin/jdk1.6.0_13/jre/lib/jce.jar java 1940 admin 36r REG 0,68 226069 385122326 /admin/jdk1.6.0_13/jre/lib/ext/sunpkcs11.jar java 1940 admin 37r REG 0,68 170239 385122325 /admin/jdk1.6.0_13/jre/lib/ext/sunjce_provider.jar java 1940 admin 38u IPv6 221130420 TCP *:http (LISTEN) java 1940 admin 39u sock 0,5 221130418 can't identify protocol java 1940 admin 40u IPv6 221130421 TCP *:8009 (LISTEN) java 1940 admin 41w REG 0,68 15006 385090940 /admin/apache-tomcat-7.0.39/logs/localhost_access_log.2013-05-29.txt java 1940 admin 42u IPv6 221137418 TCP localhost.localdomain:41285->localhost.localdomain:mysql (ESTABLISHED) java 1940 admin 44u IPv6 221132667 TCP localhost.localdomain:mxi (LISTEN) java 1940 admin 46r REG 0,68 311856 384278348 (deleted) /admin/data/_2pb.tis java 1940 admin 47r REG 0,68 148741 384278362 (deleted) /admin/data/_2pb.frq java 1940 admin 48r REG 0,68 311842 384277396 (deleted) /admin/data/_2pc.tis java 1940 admin 87w REG 0,68 4355 388497409 /logs/run.log java 1940 admin 110r CHR 1,8 384926869 /dev/random java 1940 admin 111r REG 0,68 311856 384278348 (deleted) /admin/data/_2pb.tis java 1940 admin 112u unix 0xffff88045ea3b9c0 221132407 socket
ulimit -n 4096 临时把打开文件数的上限设为了4096
如果要永久生效,可以通过下面的方式设置。
修改/etc/security/limits.conf 添加如下一行:
* - nofile 1006154
修改/etc/pam.d/login添加如下一行
session required /lib/security/pam_limits.so
相关推荐
JAVA.NET.SOCKETEXCEPTION TOO MANY OPEN FILES解决方法 JAVA.NET.SOCKETEXCEPTION TOO MANY OPEN FILES错误是一种常见的网络编程错误,发生在Java应用程序中, especialmente 在 Linux 操作系统中。该错误的出现是...
Linux下运行tomcat或者was出现java.net.SocketException: 打开的文件过多错误 tomcat报“too many open files”的错误,解决办法如下:
在将Web服务器从Windows环境迁移到Linux环境后,遇到了一个常见的问题:“java.net.SocketException: Too many open files”。这种异常通常发生在高并发环境下,例如网站访问量显著增加时。在Windows环境中长时间...
基于STM32蓝牙控制小车系统设计(硬件+源代码+论文)
某汽车联合车间工艺布置图.zip
统计学中的因果推断
1:后台登录地址为/admin/login.php,提供便捷的配置入口。 2:默认用户名是admin,密码为password123,首次登录后可。 3:使用方法:上传到虚拟机或服务器并解压,访问首页查看效果, 4:进入后台可编辑3个固定修改链接、添加或删除额外链接、设置底部文字及选择模板。 5:底部文字通过转义处理,不支持HTML,确保输出安全。 6:无论是个人项目还是分享导航,LinkEase都提供简单的解决方案。
blast_furnace_front_on
j
该资源为h5py-3.13.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl,欢迎下载使用哦!
内容概要:本文档是关于数字图像处理课程作业的报告,主要分为两个部分:形态学处理和纹理分析。形态学处理部分涵盖边界提取、孔洞填充和组件标记三个任务,详细描述了每个任务的具体步骤和方法,如通过形态学方法找到白色图案的内部区域并进行边界提取,利用连通分量标记技术进行孔洞填充,以及采用4邻接和8邻接方式对对象进行组件标记。纹理分析部分则介绍了使用Law's方法获取特征向量的过程,包括卷积和能量计算,还展示了如何用K-means算法对像素进行分类,并提出了一些改进措施,如调整窗口大小、优化K值选择等。 适合人群:具有图像处理基础知识的学生或研究人员,特别是正在学习数字图像处理课程的人士。 使用场景及目标:①帮助学生理解形态学处理的基本概念和技术,如边界提取、孔洞填充和组件标记;②指导学生掌握纹理分析的方法,如Law's方法和K-means聚类算法的应用;③通过实例操作提高学生的实践能力和问题解决能力。 阅读建议:此文档为课程作业报告,内容较为具体和技术化,建议读者先了解基本的形态学处理和纹理分析理论,再结合文档中的具体步骤进行实践操作,以便更好地理解和掌握相关知识。
内容概要:本文介绍了如何设置xv6操作系统的学习环境。xv6是MIT创建的一个用于教学的类Unix内核示例。文章首先解释了为什么选择Docker作为虚拟化工具,强调了其轻量级的特点,并指导读者安装Docker。接着详细描述了从克隆GitHub仓库到加载Docker镜像的具体步骤,以及如何使用QEMU模拟器在非RISC-V架构上启动xv6。最后提供了一个简单的练习,要求编写一个名为detective的程序,利用UNIX系统调用来查找特定名称的文件,并通过管道在父子进程间通信。 适合人群:具备一定C语言编程能力和系统编程经验的学生或开发者,尤其是对操作系统原理感兴趣的人士。 使用场景及目标:①学习Docker的安装与配置,理解容器化技术的优势;②掌握xv6内核的基本操作,包括编译和运行;③通过完成detective程序,深入理解进程管理、文件系统遍历和进程间通信等操作系统核心概念。 阅读建议:建议读者按照文档逐步实践,确保每一步都能成功执行。由于部分命令和工具基于Linux平台,推荐在Linux环境下进行操作。此外,在动手之前先阅读xv6参考书籍的第一章,有助于更好地理解和完成练习。
糖化、水罐及CIP工艺流程.rar
activator_rail_on
液压剪式升降平台(step SolidWorks)设计.rar
内容概要:本文详细介绍了HarmonyOS及其Linux内核子集(LOS)。HarmonyOS是华为自主研发的面向全场景的分布式操作系统,旨在打破国外操作系统垄断,推动国产操作系统发展。LOS作为HarmonyOS的重要组成部分,位于内核层,负责管理硬件资源、内存、文件系统和网络等。LOS具有虚拟内存管理、进程隔离、强大的网络支持、高效的文件系统、多线程编程支持和任务调度机制等技术特点。LOS在智能手机、智能家居设备和智能穿戴设备等领域发挥了重要作用,确保了系统的性能、稳定性和低功耗。与Linux原生内核和鸿蒙微内核相比,LOS在功能特性、性能表现和适用场景上有明显优势,并且与鸿蒙微内核协同工作,共同推动HarmonyOS的发展。未来,LOS将在安全性、性能优化和新功能支持等方面取得更大突破,推动HarmonyOS生态的繁荣发展。 适合人群:对操作系统底层技术感兴趣的开发者、科技爱好者以及从事智能设备相关领域的工程师。 使用场景及目标:①深入了解HarmonyOS及其内核子集(LOS)的技术特点和应用场景;②为开发基于HarmonyOS的智能设备提供理论支持和技术参考;③探索LOS在不同智能设备中的优化和应用,推动智能设备的创新和发展。 其他说明:本文不仅介绍了LOS的技术细节,还探讨了其与鸿蒙微内核的区别和协同工作方式,以及对未来发展的展望。这有助于读者全面理解HarmonyOS的内核架构和技术优势,为未来的开发和研究提供指导。
第三章习题作业.docx
为了解决信创环境下不能连网,因此在Kylin Server V10 下编译了openssl最新版本,而且做成了离线安装的脚本,安装步骤如下所示: 1. 解压软件包 [root@daolian ~]# tar -zxvf openssl-3.5.0-202504152120-multiple-Kylin-Server-V10-GFB-arm64.tar.gz 2. 查看目录中内容 [root@daolian nginx]# ls openssl.tar.gz setup.sh 3.安装 [root@daolian openssl]# ./setup.sh OPENSSL 3.5.0 INSTALL Sucesses 4.查看版本号 root@daolian:~# openssl version -a OpenSSL 3.5.0 8 Apr 2025 (Library: OpenSSL 3.5.0 8 Apr 2025) built on: Tue Apr 15 12:43:51 2025 UTC platform: linux-aarch64 options: bn(64,64)
模具-Φ146.6药瓶注塑模设计.zip
该资源为h5py-3.13.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl,欢迎下载使用哦!