我目前遇到一个问题,我们的一台运行 Debian 11 的 Proxmox VM 突然出现 CPU 过载。这种情况已经发生过一周了,今天又发生了一次。当这种情况发生时,服务器完全没有响应。我们甚至无法通过 Proxmox 控制台访问它,因为它不接受任何输入。这是 CPU 图表(平均值)的样子:
发生这种情况时,内存、网络或磁盘使用率不会突然飙升。只是 CPU 超负荷了。虚拟机有两个虚拟核心,所以我猜问题出在单核应用程序上。
该虚拟机用作多个客户项目的临时环境。其中运行着多个应用程序,包括 PostgreSQL、Node.js 和 PHP。我们在机器上运行着一个 New Relic 代理,并检查了进程历史记录:
如您所见,某些 Node.js 应用程序似乎是罪魁祸首。但是,受影响的进程没有显示任何详细信息。现在的问题是:我们如何诊断这个问题?机器上有多个通过 PM2 运行的 Node.js 应用程序。由于当这种情况发生时我们无法访问 Proxmox 控制台或通过 SSH 进入机器,因此我们无法在发生这种情况时检查 PM2 进程列表。我们检查了各种日志/var/log
,但找不到与此相关的任何内容。
有任何想法吗?