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 フェイルオーバー ノート: アプリケーション対応設計の詳細な説明
最近、JS の正規表現マッチングの落とし穴を発見したのですが、その時はあまりにも奇妙だったので、何か...
フォームを送信するときに、送信前に追加のパラメータが追加される状況が発生する場合があります。この問題...
nginx (エンジン x) は、高性能な HTTP およびリバース プロキシ サーバー、メール プ...
ウェブページを作成するときに、フォームを挿入した後、フォームの上下に空白行が表示されることがよくあり...
同僚からよく聞かれるのですが、ファイル/ディレクトリを削除すると「操作は許可されていません」というエ...
目次ループ - for forループの基本的な使い方ループを終了するネストされたループ配列配列とは何...
静的ノードはマシン上に固定されており、いくつかの固定コマンドを通じて起動されます。動的ノードには複数...
K8s k8s はクラスターです。クラスターには複数の名前空間があります。名前空間の下には複数のポッ...
1. Ansibleのプレイブックを使用してhttpdを自動的にインストールする1) まず、Ansi...
目次序文MySQL マスタースレーブレプリケーションMySQL でサポートされているレプリケーション...
この記事では、Webページの画像の回転を実現するためのjsの具体的なコードを参考までに共有します。具...
目次1. JavaScriptはシングルスレッドです1. 同期タスク2. 非同期タスク2. タスクキ...
最近、データベースについて学び始めました。最初にやったことは、データベースとは何か、データベースとデ...
1. はじめにPresto は、ギガバイトからペタバイトに及ぶデータ ソースに対してインタラクティブ...
docker-compose.yml ファイルで './' 相対パスを許可する バー...