我运行了一个Web应用程序,我将其剥离到最大值以避免高tcpsndbuf值。几天之后仍然会在tcpsndbuf上发生故障并且非常非常少的流量。
我最初认为这是一个应用程序容器问题,如thread中所述。
tcpsndbuf值上升并上升。似乎缓冲区值永远不会完全释放。因此,它不断增加,直到它超出限制并要求它对100%CPU油门的贡献。
然而,在排除了hibernate configs,mysql驱动程序错误之类的不同来源之后,我想专注于由Parallel Plesk / Power Panel和apache proxy_mod管理的openvz。
我相信它的原因是,/usr/sbin/apache2 -k start
的数字流程列在流程列表中(Parallels Power Panel,Processes)
我使用proxy_mod将端口80路由到我的应用服务器,该应用服务器位于不同的端口但是同一主机上。
如何详细分析套接字状态?例如。什么缓冲区被哪个应用程序锁定,何时被分配?我可以看到proxy_mod连接吗?这种类型的数据是否可用?关于tcpsndbuf引发最大CPU负载的任何其他提示都非常受欢迎。