为什么我的服务器(CentOS,使用 nginx 提供 Web 服务)上有这么多“ss”进程?

为什么我的服务器(CentOS,使用 nginx 提供 Web 服务)上有这么多“ss”进程?

同时在线人数大概有500人,是因为社交网络上有名人转发了链接。

以前也发生过这种情况。我们的服务器运行良好。

但这次,服务器变得非常慢,我注意到负载非常高。在这张图片中,负载只有 83.22,但那是因为我重启了它。重启之前是 600+(编辑这篇文章后,它攀升到 200+,而且还在攀升,我猜很快就会超过 600)

我注意到有很多“ss”进程。它们是什么?关于这个案例还有什么建议吗?

谢谢!

在此处输入图片描述

更新:发布此问题后,问题越来越严重:

在此处输入图片描述

更新:

我试图找到这个“ss”的来源,但是它是这样的:

在此处输入图片描述

更新:添加了另一张图片ps auxw

更新:

使用ps aux | grep ss并列出:

/bin/sh -c ss -nlp | grep "[,=]27846," || netstat -nlp | grep "[[:space:]]27846/"

在此处输入图片描述

答案1

使用ps auxw ps -ef并查看父进程标识符 (PPID) 列。

两者netstat及其后继者ss主要用于监控。这些是普通的管理工具,而不是任何后台服务。您看到的行为不正常。我认为 PPID 会引导您找到产生这些的任何进程。(除了 PPID 为 1,这通常意味着父进程已经死亡。)

答案2

您的网站必须有某种“当前查看者”/“当前连接”挂钩,使其调用 ss 或 netstat 来获取网络连接数。每次加载页面时,这都是一项繁重的工作。

相关内容