Digital Ocean Droplet はトラフィックなしでも CPU 使用率が 100% に急上昇

Digital Ocean Droplet はトラフィックなしでも CPU 使用率が 100% に急上昇

最近、新しい Droplet (最も基本的なもの) をセットアップし、pm2 を使用した非常に軽量な Express サーバーで React アプリを実行しています (サーバーは 16 時間実行され、CPU 使用率は 0%、RAM は 90 MB です)。

サーバーを起動しました。CPU は 3% 程度で問題はありませんでした。Web サイトのテストやビデオの読み込みなどを行っていました。一晩放置して統計を読み込むと、ドロップレットが過去 10 時間ほど CPU を 100% 使用していたことが示され、数分以内に 3% から 100% まで急上昇しているのがわかりました。

注意: 私の Web サイトにはトラフィックがなく、ドメインもまだないため、使用はありませんでした。実際、帯域幅はずっと 0mb/s でした。

PM2 サーバーを再起動したのですが、CPU が再び低下しているようです。ドロップレットは使用されていないのに、理由もなく CPU 使用率が 100% に跳ね上がるのはなぜでしょうか?

答え1

ノードを更新することで問題が解決したようです。私のドロップレットのノードは 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 ドロップ

この問題が解決されることを願っています。

関連情報