為什麼我的伺服器上有這麼多「ss」進程(CentOS 和 nginx 為網路提供服務)?

為什麼我的伺服器上有這麼多「ss」進程(CentOS 和 nginx 為網路提供服務)?

大約有 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 來取得網路連線數。這是每次頁面加載時要做的非常繁重的事情。

相關內容