我有一个程序,它本质上是一个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内存问题?令人震惊,是吧?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。