linux – Tomcat没有从TCP recv-Q获取数据,挂起

前端之家收集整理的这篇文章主要介绍了linux – Tomcat没有从TCP recv-Q获取数据,挂起前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个程序,它本质上是一个tomcat服务器,在CentOS Linux 6.3上运行postgresql DB.当客户端向服务器提交大量数据(~10MB)(应该在TCP 9090上接收)时,客户端似乎挂起并且没有从服务器获得响应.我在日志中看不到任何重要内容,我只能发现端口9090上存在连接,并且netstat输出中的recv-Q中有大约3.5 MB.这可能是系统或应用程序问题吗?

这是strace显示的:
9089 futex(0x7fdd80862528,FUTEX_WAKE_PRIVATE,1)= 0
9089 futex(0x7fdd81e145a4,FUTEX_WAIT_BITSET_PRIVATE | FUTEX_CLOCK_REALTIME,1,{1374870092,226655000},ffffffff< unfinished ...>
9085< ... futex恢复> )= -1 ETIMEDOUT(连接超时)
9085 futex(0x7fdd88004728,1)= 0
9085 futex(0x7fdd94013464,226812000},ffffffff< unfinished ...>
9071< ... futex恢复> )= -1 ETIMEDOUT(连接超时)
9071 futex(0x7fde00092c28,1)= 0
9071 futex(0x40b62e64,{1374870087,319631000},ffffffff)= -1 ETIMEDOUT(连接超时)
9071 futex(0x7fde00092c28,369779000},ffffffff

解决方法

这最终成为java进程的低内存问题.添加RAM并调整数据库解决了它. Java内存问题?令人震惊,是吧?

猜你在找的Linux相关文章