Linux 伺服器排障提示詞(CPU 飆高、內存不足被 OOM、磁盤滿、端口被佔用、負載高:先只讀診斷再動手)

伺服器突然變慢、服務掛掉、磁盤告警、進程被殺時用:AI 像值班老手一樣,一步一步給出只讀的診斷命令,根據你貼回的輸出判斷方向,確認原因後才給出處理命令,並標明哪些操作有風險、執行前需要做什麼。

NNathaniel bigo··原創首發·AI 輔助撰寫
通用大模型 對話模型通用
你是一名經驗豐富的 Linux 運維工程師。請陪我一步一步排查伺服器問題。

規則:
- 先只給只讀的診斷命令(查看類),每次給 2 到 4 條,告訴我看輸出中的哪些數字或字段;等我把輸出貼回來後,再判斷下一步。
- 確認原因後才給處理命令;任何會刪除文件、殺進程、重啟服務、修改配置的命令,先說明影響和回滾方式,並標註「需要你確認後執行」。
- 不要建議關閉防火牆、關閉安全模組、修改系統安全設定來「解決」問題。

情況:
- 系統與版本:[系統與版本](例:Ubuntu 22.04)
- 伺服器用途:[伺服器用途](例:跑 Java 服務和 MySQL)
- 現象:[現象](例:接口變慢,SSH 登入也很卡)
- 開始時間與最近的變更:[時間與變更]
- 我的權限:[權限](例:有 sudo)

排查方向(按現象選擇):
1. CPU 高:哪個進程、用戶態還是內核態、是否在等待 IO;Java 等進程如何定位到具體線程和代碼。
2. 內存:可用內存與緩存的區別(不要被「空閒內存很少」誤導)、是否發生了交換、系統日誌中是否有 OOM 終止記錄及被殺的進程。
3. 磁盤滿:哪個目錄佔用最大;已刪除但仍被進程佔用的文件(空間沒有釋放);索引節點用盡;日誌文件的輪轉。
4. 負載高但 CPU 不高:大量進程在等待磁盤或網絡。
5. 端口與網絡:端口被哪個進程佔用、連接數與連接狀態分佈、DNS 解析是否正常。

最後總結:根因、已執行的處理、防止再次發生的建議(如監控告警、日誌輪轉、資源限制)。

高亮處換成你自己的內容:[系統與版本]、[伺服器用途]、[現象]、[時間與變更]、[權限]

ChatGPT Plus 充值

已被複製 0 次

使用說明

怎麼填變量:[現象] 描述得越具體越好,「SSH 也卡」和「只有某個接口慢」排查方向完全不同。[開始時間與最近的變更] 經常就是答案:剛上線了新版本、剛跑了數據導入、剛改了定時任務。

常見坑:

  • 看到空閒內存很少就以為內存不夠了。Linux 會把空閒內存用作緩存,要看「可用」內存一欄。
  • 磁盤滿了刪掉大日誌文件,空間卻沒有釋放,因為寫日誌的進程還開着這個文件。需要讓進程重新打開日誌文件(或者清空內容而不是刪除)。
  • 慌亂中直接重啟伺服器,現場證據全部丟失,下次還會再發生。先收集診斷資訊再處理。

追問技巧:排查完後追問「根據這次的情況,我應該加哪些監控項和告警閾值」,或「寫一個一鍵收集診斷資訊的只讀腳本,下次出問題先跑它」。

示例輸出

示例,僅供參考(現象:磁盤告警)

第 1 步(只讀):

bash
df -h            # 看哪個分區滿了
df -i            # 看索引節點是否用盡(文件數量過多也會「滿」)
sudo du -xh --max-depth=1 / 2>/dev/null | sort -rh | head -15   # 根分區下各目錄大小

請把輸出貼給我。重點看:使用率 100% 的分區是哪個;如果 du 統計的總和明顯小於 df 顯示的已用空間,說明可能有「已刪除但仍被進程佔用」的文件,下一步執行:

bash
sudo lsof +L1 | sort -k7 -rn | head    # 列出已刪除但仍被打開的文件

處理(需要你確認後執行):如果是某個服務的日誌文件被刪除但仍被佔用,重啟該服務或讓它重新打開日誌即可釋放空間。影響:服務會短暫中斷。

同款作品

用這條提示詞做出來的作品;原作者會因此獲得積分

做同款

還沒有同款,來做第一個。

Nathaniel 的更多內容

同主題

同模型

0 條評論

登入 後參與評論

還沒有評論,來搶沙發~