无法连接到显示 CPU 使用率为 99% 的虚拟服务器

无法连接到显示 CPU 使用率为 99% 的虚拟服务器

自过去 24 小时以来,我们的 CPU 使用率显示为 99%,由于这种使用率,我们无法通过 SSH 连接服务器。我们正在将此服务器用于我们的 Magento 2.0 网上商店。

我们已经多次重启服务器,但重启服务器后几秒钟内 CPU 使用率仍然相同。因此,我们无法跟踪服务器错误或服务器错误日志。

有人能建议我们如何解决这个问题吗?

服务器信息:

操作系统:Ubuntu

Web 服务器:Apache

区域: europe-west1-c

机器类型:1 vCPU,3.75 GB

谢谢,

林贾尔·帕特尔

答案1

尝试通过托管服务提供商提供的 VPS 控制面板登录您的服务器,并通过控制台登录 SSH。您将能够登录并可以跟踪日志以找出问题所在。

答案2

在如此高的 CPU 负载下,我猜问题在于甚至在 bash 中以交互方式工作。但您可以通过 ssh 发送单个命令,如下所示:

ssh user@host command

这种方法可以帮助您开始调查。获取最耗 CPU 的进程:

ssh user@host ps aux --sort=-pcpu

您将获得按 CPU 消耗排序的所有进程列表。如果可以接受一些停机时间并且您有 root 登录名,那么您可以尝试终止所有进程。如果是 apache,例如:

ssh root@host killall -9 apache

请注意,apache这里显示的是进程的名称ps。您可以使用类似apache2或类似的名称。

然后,当进程被终止并且您能够登录服务器时,您可以尝试调查日志问题,重新配置 apache 以处理更少的客户端等。

答案3

如果您有控制台访问权限

将其视为普通服务器并使用 grub 启动到单用户模式来解决问题。

如果你没有控制台访问权限,这可能会有用

我不知道你使用的是什么提供商或技术,但亚马逊描述了一种针对 AWS EC2 无响应服务器的技术

https://aws.amazon.com/articles/5213606968661598

我浏览后的理解是

  1. 创建新的临时虚拟机
  2. 关闭无响应的虚拟机
  3. 将无响应的虚拟机驱动器附加到新机器
  4. 修复问题并关闭
  5. 卸下驱动器并重新连接到原始机器,然后启动它

相关内容