我最近設定了一個新的 Droplet(最基本的),並使用 pm2 和非常輕的 Express 伺服器運行 React 應用程式(伺服器已運行 16 小時,CPU 使用率 0%,記憶體 90mb)。
我啟動了伺服器,沒有出現任何問題,CPU 約為 3%,我正在測試網站、加載影片等。 我將其放置了一夜,加載統計數據後,它顯示 Droplet 在過去 10 小時內以 100% 使用 CPU大約如此,我可以看到高峰在幾分鐘內從3% 上升到100%。
請注意,我的網站沒有任何流量,也沒有域名,因此沒有使用。事實上,頻寬始終為 0mb/s。
我剛剛重新啟動 pm2 伺服器,看起來 cpu 再次下降。為什麼在沒有使用的情況下,droplet 的 cpu 使用率會無緣無故跳到 100%?
答案1
看來更新節點解決了問題。我的 Droplet 上的節點電壓落後 5V。更新它,伺服器運行了幾個小時沒有問題
編輯:運行一段時間後,它仍然隨機上升。似乎 sshd 命令導致了這個問題,但尚未找到解決方法
編輯:原因:似乎是節點獲取函數導致了問題。刪除此請求並直接從 UI 執行(不呼叫後端 url)似乎可以解決 CPU 問題。將請求傳送回 UI 時,節點程式碼中的某處可能會有洩漏
答案2
我遇到了同樣的問題,現在我找到了解決方案,希望它對您有用。實際上,有人對我的網站進行了暴力攻擊,所以為什麼我的網站宕機了,圖表顯示 CPU 100% 使用率。
首先,檢查哪個應用程式佔用較多的使用量,因此輸入命令“頂部" 它將顯示即時 CPU 使用情況。在我的例子中,PHP-fpm 的使用率為 95%。
現在你必須檢查你的 Nginx 日誌檔。 」sudo tail -f /var/log/nginx/access.log「它將顯示錯誤或錯誤的網關存取詳細資訊。現在您必須複製重複多次的 IP 位址,您必須封鎖它。
您可以使用此命令來阻止IP“iptables -I 輸入 -s 35.186.156.199 -j 刪除」
我希望這個問題能夠解決。