嘗試登錄時,遠端 Fedora 系統無響應、奇怪但一致的行為
我有一堆網站在一年左右的舊 Fedora 安裝上執行。今晚,所有網站都停止了響應。我一直在嘗試登錄進行調查,但不能,而且我不知道該怎麼做。
ping 伺服器正常工作,響應時間不錯,~200 毫秒。
當我噓時,出現“上次登錄:…”文本,但僅此而已。但是,如果我離開它,然後打開另一個 ssh 會話,第一個會話實際上會登錄(我已將其設置為使用密鑰而不是密碼),而新會話會卡在“上次登錄:. ……”。我可以嘗試多次重複此操作 - 打開一個新的 ssh 會話總是會使之前打開的登錄。
登錄後,我可以在連接(?)凍結的情況下始終執行的唯一命令是
ls
在我的主目錄中。我曾經能夠做到sudo su
,但每隔一段時間事情就會凍結,就像執行任何其他命令一樣(top
,killall -9 httpd
,ps aux
是我嘗試過的一些命令)。這種模式對任何人來說都很熟悉嗎?任何有關如何進行的提示將不勝感激!
這聽起來像您的系統負載非常重。它很可能會進行大量交換或以其他方式使用磁碟 I/O。
我懷疑發生的情況是由於某種原因*)您的網站突然收到大量對某些繁重的動態頁面的 http 請求,這使得 Apache 消耗了您所有的伺服器資源。真正的原因也很可能是負載過重且響應緩慢的數據庫伺服器,這會增加您的 Web 伺服器的頁面載入時間,這會使 Apache 消耗更多的程序,從而導致伺服器過載,從而導致出現以下情況你在觀察。
您的網站通常有很多流量嗎?一個大概的數字會很好 - 我們是在談論每天數千次點擊,每天點擊數万次,數百萬次……?
你有你的伺服器的資源圖嗎?像 snmpd+mrtg 或 Cacti 圖形 CPU、記憶體、磁碟使用情況?如果,是否有任何尖峰?或者,如果您安裝了
sysstat
軟體包,那麼您可能有sar
可用的快照 - 嘗試命令sar
。它會每 10 分鐘左右保存一次有關您系統的各種資訊,並通過它報告您可能會看到發生了什麼。這個 Fedora 安裝是一個單獨的物理伺服器,還是取決於您正在談論的 VMware 環境?會不會是您的 VMware 基礎架構的某些部分時不時地超載,而這才是您的問題的真正原因?
此外,在塵埃落定之後,我會調查日誌以查看是否有核心對 OOM(記憶體不足)殺手大喊大叫的跡象,或者 httpd 日誌是否看起來可疑。
通常,如果我無法親眼看到 httpd 日誌中有任何可疑之處,我會讓 Webalizer 或類似的分析器執行該日誌並查看輸出中是否彈出任何 URL。或者我只是將日誌傳輸到
apachetop
並查看發生了什麼。*) 原因可能是 DoS 攻擊、行為不良的 PHP 腳本、錯誤的 .htaccess 文件使您的 ErrorDocument 頁面遞歸呼叫自身、Slashdot/reddit 效果或其他完全不同的東西。