装有我的应用程序的应用程序服务器(SUSE 64 位)发出“ip_queue: full”消息并拒绝连接(例如,无法 ping)。
我的应用程序是一个使用 JBoss5 的 EJB 应用程序,它在网络方面没有做任何特殊的事情(只是一些常规的 Servlet)。
由于 JBoss 处理所有低级网络事务,并且它是一个经过充分测试的 AS,我怀疑某些内核参数不合适,但我在互联网上找不到我希望的那么多信息。
有人能建议我该如何处理这个问题吗?
谢谢。
答案1
当将数据包发送到用户空间时,内核队列已满。
- 检查网络统计信息:netstat -s
- 增加队列长度(/proc/sys/net/ipv4/ip_queue_maxlen)
- 检查系统性能(top、free、iostat、vmstat)
- 检查正在运行的守护进程以及谁发送/接收流量