从Tomcat 7迁移到Tomcat 9.0之后。20(使用相同的Java版本1.8.0_25运行)我们在Linux RHEL 7上的JSF2 web应用程序存在问题。一段时间后,我们会遇到如下异常:
java.io.FileNotFoundException: /f4m/tomcat/tomcat_f4mbs/webapps/ACM/WEB-INF/acm-config.xml (Too many open files)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(FileInputStream.java:195)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at java.io.FileInputStream.<init>(FileInputStream.java:93)
经过一段时间的搜索,我发现xhtml文件有许多打开的文件描述符,通过执行这个命令(其中4025是Tomcat进程ID):
ls -l /proc/4025/fd
lr-x------. 1 f4mHttp f4mHttp 64 May 16 08:58 238 -> /usr/java/jdk1.8.0_25/jre/lib/resources.jar
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:01 239 -> pipe:[3661823]
lr-x------. 1 f4mHttp f4mHttp 64 May 16 08:58 24 -> /f4m/tomcat/tomcat_f4mbscrm/lib/websocket-api.jar
l-wx------. 1 f4mHttp f4mHttp 64 May 16 09:01 240 -> pipe:[3661823]
lrwx------. 1 f4mHttp f4mHttp 64 May 16 09:01 241 -> anon_inode:[eventpoll]
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:01 243 -> pipe:[3661824]
l-wx------. 1 f4mHttp f4mHttp 64 May 16 09:01 244 -> pipe:[3661824]
lrwx------. 1 f4mHttp f4mHttp 64 May 16 09:01 245 -> anon_inode:[eventpoll]
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:01 246 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/msgBox.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:01 247 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/msgBox.xhtml
lrwx------. 1 f4mHttp f4mHttp 64 May 16 09:01 248 -> socket:[3667364]
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 249 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/form/searchpage.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 08:58 25 -> /f4m/tomcat/tomcat_f4mbscrm/lib/jasper.jar
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:01 250 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/form/searchpage.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:01 251 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/form/portal/nav/portalheader.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 252 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/form/portal/customizing/nav/menu.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:01 253 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:01 254 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/form/nav/bottomPanel.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:01 255 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/form/nav/bottomPanel.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:01 256 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/msgBox.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:01 257 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 258 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 259 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 08:58 26 -> /f4m/tomcat/tomcat_f4mbscrm/lib/ecj-4.9.jar
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 260 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 261 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 262 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/form/common/barcodefunction_incl.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 263 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/form/portal/nav/portalfooterAll.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 264 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/form/partner/crmpartner.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 266 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/form/partner/crmpartner.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 267 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/form/portal/nav/portalheader.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 268 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/form/portal/customizing/nav/menu.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 08:58 27 -> /f4m/tomcat/tomcat_f4mbscrm/lib/catalina-ha.jar
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 274 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/form/partner/crmpartner_topnav.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 275 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/msgBox.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 276 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/msgBox.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 277 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 278 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 279 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 08:58 28 -> /f4m/tomcat/tomcat_f4mbscrm/lib/jsp-api.jar
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 280 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 281 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 282 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 283 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 286 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 287 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 288 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 289 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 08:58 29 -> /f4m/tomcat/tomcat_f4mbscrm/lib/annotations-api.jar
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 290 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 291 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 292 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 293 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/form/partner/crmpartnerparent_incl.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 294 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 295 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 296 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 297 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 298 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/form/partner/crmpartnerHierarchySimilarAddresses.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 299 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/form/partner/crmpartnerchild_incl.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 08:58 3 -> /usr/java/jdk1.8.0_25/jre/lib/rt.jar
lr-x------. 1 f4mHttp f4mHttp 64 May 16 08:58 30 -> /f4m/tomcat/tomcat_f4mbscrm/lib/tomcat-i18n-fr.jar
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 300 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 301 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 302 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 303 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 304 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/form/partner/crmpartnerHierarchySimilarAddresses.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 305 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 306 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 307 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 308 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 309 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 08:58 31 -> /f4m/tomcat/tomcat_f4mbscrm/lib/tomcat-coyote.jar
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 310 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 311 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 312 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 313 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 314 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 315 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 316 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 317 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 318 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 319 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 08:58 32 -> /f4m/tomcat/tomcat_f4mbscrm/lib/catalina-ant.jar
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 320 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 321 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 322 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 323 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 324 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 325 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 326 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 327 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 328 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
lr-x------. 1 f4mHttp f4mHttp 64 May 16 09:02 329 -> /f4m/tomcat/tomcat_f4mbscrm/webapps/ACM/resources/components/calendar.xhtml
这不是完整的列表-还有很多。
列出的文件数量会上下波动。对我来说,只要页面在浏览器中显示,xhtml(或其使用的组件之一)似乎就有一个打开的文件描述符。
如果我再次在Tomcat7上部署相同的应用程序,我只能看到JAR文件、套接字的开放文件描述符,但不能看到xhtml的开放文件描述符。
有什么问题吗?
文件泄漏发生在JSF2 MyFaces实现中,另请参见此处:https://marc.info/?l=myfaces-发展
通过使用此工具,我能够找到问题:http://file-leak-detector.kohsuke.org/
问题内容: 我使用多个文件来执行一些文件I / O(写入19个文件,确实如此)。写他们几百次后,我得到了。但实际上我一次只能打开几个文件。这里有什么问题?我可以验证写入是否成功。 问题答案: 在Linux和其他UNIX /类似UNIX的平台上,操作系统对进程在任何给定时间可能具有的打开文件描述符的数量进行了限制。在过去,此限制曾经是硬接线1,并且相对较小。如今,它要大得多(几百/千),并且受“软”
问题内容: 我写了一种测试套件,它占用大量文件。一段时间(2h)之后,我得到了。我仔细检查了所有文件句柄是否再次关闭它们。但是错误仍然存在。 我试图找出使用允许的文件描述符的数量以及当前打开的文件描述符的数量: 因此,如果我运行以下测试: 我得到以下输出: 真奇怪,我期望打开的文件描述符会越来越多。我的脚本正确吗? 我正在使用python的记录器和子进程。那可能是我FD泄漏的原因吗? 谢谢,丹
我们最近在尝试访问Unix服务器中的weblogic控制台时遇到了一个问题,我们将得到: 错误503--服务不可用 在日志文件中,它会指出: 原因:java。io。FileNotFoundException:/opt/weblogic1036/wlserver\u 10.3/server/lib/co 在谷歌上搜索了一番后,我找到了一个解决方案,其中指出/etc/security/limits。c
我正试图从迁移到,但在所有更改之后,日志没有打印出来。我使用的“选项2”是https://logging.apache.org/log4j/2.x/manual/migration.html . 我添加了在我的libs文件夹中,并正确配置了在
我有一个错误:PHP无法打开流:打开的文件太多。 我在这里查看了stackoverflow的各种答案,但我无法解决这个问题。我主要尝试增加最大打开文件数的限制: 我已编辑/等/安全/限制。conf,其中我指定了: 保存并注销/重新启动该框后,命令: 仍打印出1024个。我不知道为什么这没有效果,我想这就是我得到php错误的原因。如果需要,我可以粘贴整个文件或任何其他配置文件。我使用的是PHP 5.
我正在做一个项目,客户现在从Java6转到Java8。我们在项目中下载一个jnlp文件来运行一个java应用程序。在Java6中,我们没有问题,但是现在迁移到Java8后,我们面临着安全问题,因为我们不能再使用自签名jar了。客户给我们提供了一份证书。我的问题是如何在Java8中运行那个jnlp文件?我尝试在jnlp文件中使用的jar上签名。我使用Java提供的cacerts密钥库。我运行以下命令