1. 問題の発見[root@zwlbs3 ~]# トップ i. プロセスの CPU 使用率が 700% で、COMMAND がランダムな文字列で構成されていることがわかりました。これで終わりです! 最初に考えたのは、それを強制終了することでした。 [root@zwlbs3 ~]# kill -9 "PID" ii. しかし、殺害された後、しばらく静かになった後、再びプロセスが開始されたことが判明しました。 注:古いイメージが再利用され、PID とコマンドが変更されています。 2. プロセスの詳細情報を表示する[root@zwlbs3 ~]# cd /proc/748/ [root@zwlbs3 748]# ls -ial # 「748」はプロセスのPIDです。PIDに応じて確認できます。 図に示すように: プロセスが /dev/shm ディレクトリにあることがわかりました。/dev/shm とは何ですか? インターネットから引用して/dev/shmについて説明しましょう 1) まず、/dev/shm はデバイス ファイルであることがわかります。/dev/shm はシステム メモリへの入り口と考えることができます。これは、物理ストレージ デバイス、つまり tmp ファイルシステムと考えることができます。このデバイスを使用して、メモリへのファイルの読み取りと書き込みを行うことで、大きなファイルの頻繁なオープン、書き込み、読み取りなどの特定の高 I/O 操作を高速化できます。 2) Oracle は /dev/shm を使用すると言われています (shitou は Oracle を使用したことがありません)。mount コマンドを使用して、現在マウントされている /dev/shm ファイルシステムを一覧表示できます。 3) メモリベースのファイルシステムであるため、システムを再起動すると /dev/shm の下のファイルは存在しなくなります。デフォルトの Linux (CentOS) /dev/shm パーティション サイズはシステムの物理メモリの 50% ですが、/dev/shm を使用するとファイル操作の効率が大幅に向上します。ただし、現在、これを使用しているソフトウェア ディストリビューションはほとんどありません (上記の Oracle を除く)。ls /dev/shm を使用して、その下にファイルがあるかどうかを確認できます。ない場合は、現在のシステムがデバイスを使用していないことを意味します。 /dev/shmディレクトリに関連ファイルがあるかどうかを確認します [root@zwlbs3 ~]# ls -a /dev/shm/ . .. # 関連ファイルがありません。おかしいですね。
3. 解決策i. プロセス内のスレッド占有分析を表示する [root@zwlbs3 ~]# top -H -p "PID" ii. 関連するプロセスが多数あるため、すべて終了する iii. 数分後に再度確認し、システム負荷が正常に戻ったことを確認します。 解決したと思ったのですが、数時間後に確認したらまた表示されました。しまった。 本番環境ではサーバーを再起動するのは不便なので、再起動の方法を試すしかありませんでした。 4. 大法を再開するサーバーを再起動してから 1 時間後に再度確認したところ、正常に戻っていました。再起動しても問題なく動作します。 この悪意のあるプログラムは何をするのでしょうか?なぜ CPU リソースだけを消費するのでしょうか?関連するファイル情報が見つからなかったため、現時点では理由は不明です。 知っている方がいたら教えてください、よろしくお願いします! 要約する 以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。 以下もご興味があるかもしれません:
|
<<: MySQL フェイルオーバー ノート: アプリケーション対応設計の詳細な説明
Apache Superset は、データを表示および探索する方法を提供する強力な BI ツールで...
1. MySQL アーキテクチャストレージ エンジンを紹介する前に、まずは MySQL アーキテクチ...
フロントエンドエンジニアとして、IE は私たちにとって馴染み深いものであるはずです。設計案を実装する...
テーブル名を変更したり、テーブル フィールドを変更したりする必要がある場合は、 MySQL ALTE...
ブラウザはTIF形式の画像を表示しますコードをコピーコードは次のとおりです。 <html>...
まず、Alibaba Cloud の公式チュートリアルをご覧ください。ファイルの説明: 1. 証明書...
場合によっては、フィールドから別の新しいフィールドにデータの列全体をコピーする必要があります。これは...
//デフォルトプロトコル/ デフォルト プロトコルの使用は、リソース アクセス プロトコルが現在の...
目次乱数を生成する0から1までの乱数を生成する指定された範囲内で乱数を生成します6桁のモバイル認証コ...
テーブルの基本構文<table>...</table> - テーブルを定義し...
目次序文シナリオ分析要約する序文数日前、友人がWeChatで私に連絡してきて、マシンがダウンタイムか...
1. インターネットで長時間検索しましたが、判定表が存在するかどうかがわからなかったので、漠然と削除...
HTML5 で contentEditable 属性が導入されて以来、div は textarea ...
目次SQLを理解するSELECTを理解するエイリアス定数をクエリし、固定定数列を追加します。重複行を...
1. まずリクエスト設定ファイルを見て、axios.createメソッドを見てください。baseUR...