【发布时间】:2016-11-28 10:43:42
【问题描述】:
我们的企业应用程序部署在 Jboss Wildfly 8.2 中。问题是在 jboss 重新启动一个月后,文件系统操作速度减慢到十分之一。 IE。如果我在我的 apache 中托管了一个大小为 1 GB 的简单静态文本文件,那么将它下载到我的本地盒子将在 3 分钟内完成。但一个月后,同样的操作需要 30 分钟。重新启动 jboss 后,问题立即消失。系统中没有明显的 CPU、内存或 IO 峰值。
打开文件的数量接近 550 万个,而最大值为 570 万个。 “lsof -p”的输出只显示了 5k 条记录,而转储整个“lsof”然后 grepping jboss pid 会显示一个巨大的数字。
$$$ lsof | wc -l -> 3552282
$$$ lsof | awk '{打印 $2}' | grep jboss-pid | wc -l -> 2760622
在 jboss 打开的 270 万个文件中,有 120 万个显示如下。重新启动 jboss 后,打开的文件下降,但这个数字不断增加,最终导致速度变慢。这肯定指向套接字泄漏,但我该如何进一步调试呢?
$$$ grep“协议:TCP”/tmp/lsof.41321 -c -> 1203852
java 41321 106902 sf-admin 2724u sock 0,6 0t0 1256280582 协议:TCP
java 41321 106902 sf-admin 2725u sock 0,6 0t0 1247336438 协议:TCP
java 41321 106902 sf-admin 2726u sock 0,6 0t0 1247336439 协议:TCP
【问题讨论】:
标签: java sockets tcp jboss wildfly-8