当内存和 CPU 使用率正常时,服务器可能挂起的原因有哪些?

当内存和 CPU 使用率正常时,服务器可能挂起的原因有哪些?

一些线索:

Ping 工作正常,但网站访问和 ssh 等实用程序却很慢很慢!

内存和 CPU 使用率都处于较低、可容忍的水平。

我使用了traceroute,平均结果不超过100ms。

这是在多个云服务器上同时启动的。

相关问题:远程服务器挂起、卡住。如何调试?

如果无法联系到托管公司,我想知道下一步该去哪里找。当然,任何帮助都会很感激。

答案1

尝试将数据包嗅探器(例如 wireshark)连接到系统,以查看网络在等待时正在做什么。如果您看到丢包或大量重新请求,它可能会让您知道发生了什么。

另外,我不确定你给出的例子“问题可能出在 traceroute 上”是什么意思。Traceroute 是一个应用程序,你可以使用它来确定从你到你的提供商的第三层链接之间的延迟有多大。也许他们的意思是你的服务器和它所连接的任何东西之间的延迟很高?

答案2

我一下子就能想到两件符合目前可用信息的事情。

如果使用 ssh 连接到您的机器很慢,但当您获得 shell 时它可以使用,我会查看 dns 和/或 syslogd 是否有问题。我过去遇到过 syslogd 非常停滞的情况,以至于记录您的连接需要几分钟。我遇到的另一种情况是反向查找超时而不是返回 NXDOMAIN,我的 .in-addr.arpa 区域的 dns 服务器配置错误,这适用于 syslogd、httpd 和 sshd。

您可以尝试禁用 syslogd、sshd 和 httpd 的反向查找,看看是否能解决您的速度缓慢问题?(如果可以,我会查看 DNS 解析器配置,并尝试找出它超时的原因)。

我能想到的另一种导致速度缓慢的原因可能是您的 IO 子系统超载了,您可以使用 iostat、sar 或 dstat 等工具看到这一点。(并且可能还会增加 CPU 平均负载)。

相关内容