大量文件描述符对Java应用有什么影响

佐克

我们在 Tomcat 上部署了一个 web 应用程序,它可以有超过 300k 的文件描述符,而我们对单个进程的限制是 250k。奇怪的是:当服务器运行时,数字上升(400k)和下降(100k)。有时,当数量很高时,我们无法 ssh 进入操作系统。但是,我们没有发现与许多打开文件或套接字建立问题相关的任何错误。大多数文件描述符与 JVM 加载的 jar 文件相关。我的问题是:
1. OS (CentOS 7) 如何计算 tomcat 的文件描述符?我认为 Tomcat 在运行时不会让这些文件保持打开状态。2. 为什么号码不固定?相反,有很多重复的 jar 文件。3. 有这么多文件描述符正常吗?

拉梅什·苏布拉曼尼安

操作系统对任何一个进程可以同时打开的文件数量有限制。大多数发行版的默认值只有1024 个文件。每个打开的文件也有一个关联的文件描述符。套接字连接被视为文件,它们使用文件描述符,因此受到相同的资源限制。

  1. 您可以通过命令验证或更改最大限制ulimit

  2. 您还可以通过运行 JMX 工具 - JConsole查看 MBean 属性 - MaxFileDescriptorCountOpenFileDescriptorCount

  3. 当 OpenFileDescriptorCount 小于 MaxFileDescriptorCount 时,您的应用程序工作正常,否则您会得到java.io.IOException: Too many open files导致应用程序故障的原因。

  4. 通常对于应用程序,FD(文件描述符)的计数上升/下降到某个级别。但它应该在MaxFileDescriptorCount

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

EPOLL文件描述符和事件文件描述符有什么区别?

来自分类Dev

文件描述符与过程表有什么关系?

来自分类Dev

为什么更改一个文件描述符上的tty设置会影响另一个文件描述符?

来自分类Dev

没有文件描述符的Sendfile

来自分类Dev

打开文件描述符如何影响内存

来自分类Dev

read() 在有效的文件描述符上返回错误的文件描述符

来自分类Dev

创建文件描述符然后回显该文件有什么意义?

来自分类Dev

什么和为什么?-文件描述符

来自分类Dev

为什么我们没有关闭指向文件的描述符?

来自分类Dev

文件描述符位置

来自分类Dev

文件描述符0

来自分类Dev

文件描述符重复

来自分类Dev

读取文件描述符

来自分类Dev

关闭文件描述符

来自分类Dev

exec的文件描述符

来自分类Dev

泄漏文件描述符

来自分类Dev

读取文件描述符

来自分类Dev

共享文件描述符

来自分类Dev

/ proc / fd文件描述符显示什么?

来自分类Dev

为什么羊群使用描述符或文件

来自分类Dev

为什么自动生成的文件描述符从3开始?

来自分类Dev

lseek()对目录文件描述符意味着什么?

来自分类Dev

什么是文件描述符/连接/套接字/ ip?

来自分类Dev

这些文件描述符是做什么用的?

来自分类Dev

什么时候使用附加的文件描述符?

来自分类Dev

什么是0、1和2以外的文件描述符

来自分类Dev

这些辅助文件描述符是什么?

来自分类Dev

“文件描述符”中“描述符”的词源

来自分类Dev

定义全局描述符表有什么用?