序文 Linux 運用保守エンジニアとして、日々の業務の中で Linux サーバーの CPU 負荷が 100% に達し、高い状態が続く状況に遭遇することがあります。CPU 負荷が高い状態が続くと、業務システムの正常な動作に影響を及ぼし、企業に損失をもたらします。 このような状況に遭遇すると、多くの運用および保守担当者が困惑することがよくあります。CPU 過負荷の問題の場合、通常は次の 2 つの方法を使用して、問題を迅速に特定できます。 方法1 ステップ1: 使用
CPUを過剰に使用しているプロセスのPIDを見つける ステップ2: 使用
プロセス内で最も多くのリソースを消費するスレッドのIDを見つける ステップ3: 使用
スレッド ID を 16 進数に変換します (文字は小文字にする必要があります)
ステップ4: 実行
スレッドのステータス情報を表示する 方法2 ステップ1: 使用
CPUを過剰に使用しているプロセスを見つける ステップ2: 使用
スレッド情報を取得し、CPUを大量に消費するスレッドを見つける ステップ3: 使用
必要なスレッドIDを16進形式に変換します ステップ4: 使用
スレッドスタック情報を印刷する ケーススタディ シナリオの説明 実稼働環境での JAVA プロセスの CPU 使用率が高い場合のトラブルシューティング 解決プロセス 1. topコマンドによると、PID 2633のJavaプロセスがCPUの最大300%を占有し、障害が発生していることがわかります。 2. プロセスを見つけた後、特定のスレッドまたはコードを見つけるにはどうすればよいでしょうか? まず、スレッド リストを表示し、CPU 使用率の高いスレッドで並べ替えます。 [root@localhost ~]# ps -mp 2633 -o スレッド、tid、時間 | sort -rn 結果は次のとおりです。 CPU 消費量が最も高いスレッド (TID) 3626 が見つかりました。このスレッドは 12 分間 CPU 時間を占有していました。 3. 必要なスレッドTIDを16進形式に変換する [root@localhost ~]# printf "%x\n" 3626 18 18 18 4. 最後に、jstack コマンドを使用して、プロセスの下にあるこのスレッドのスタック情報を出力します。 [root@localhost ~]# jstack 2633 |grep "e18" -A 30 トラブルシューティングと比較して、障害を発見することも同様に重要です。 Zabbix、Nagios、Alibaba Cloud Monitoring(クラウド サーバー用)など、市場に出回っているほとんどの監視ソフトウェアは、サーバー負荷のリアルタイム監視を実現できます。しかし、ほとんどのソフトウェアでは、運用・保守担当者がルールを積極的に設定したり、テストを実施して問題を発見する必要があります。受動的にアラートを受信するにはどうすればよいでしょうか。 王教授、実用的な運用・保守ソフトウェアをお勧めしたいと思います。Alibaba Cloud にビジネスを展開しているユーザーは、監視が必要な読み取り専用の AcessKey をバインドするだけで、クラウド リソースのアラーム情報を対応するチーム メンバーに迅速に通知できます。 アクティブ アプローチからパッシブ アプローチへの変更により、一方では運用および保守エンジニアの作業負荷が軽減され、他方では O&M エンジニアがアラームを見逃したり無視したりする可能性も軽減されます。 要約する 以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。 以下もご興味があるかもしれません:
|
>>: MySql 8.0.11 のインストール プロセスと Navicat とのリンク時に発生する問題の概要
目次1. HTML構造を作成する2. テーブルを作成する3. ヘビの頭と体を作る4. 食べ物を作る5...
目次導入1. MySQLデータベースの全体的なアーキテクチャSQL インターフェースパーサーオプティ...
序文最近のプロジェクトでは、大量のデータを保存する必要があり、このデータには有効期限があります。クエ...
最も一般的で、最もよく使用され、最も一般的な方法は、submit タイプを使用することです。コードを...
このチュートリアルでは、MySQL5.6.22のインストールと設定方法の具体的なコードを参考までに共...
背景go-fastdfs は、http プロトコルをサポートする分散ファイルシステムです。一般的なプ...
#docker 検索#docker プルポーター1. イメージを取得した後、中国語パッケージをダウン...
多くの場合、クエリの結果は最大で 1 つのデータ レコードになることが予想されます。この場合、制限 ...
目次1. データベース操作2. データ型3. バックアップとリカバリ3. 操作4. 上級5. 知識補...
例:例として、Python コード loop_hello.py を使用します。このコードは、ループ回...
通常、デッドロックが発生すると、重みが最も小さい接続が強制終了され、ロールバックされます。ただし、最...
以下のコードをDreamweaverのコードエリアにコピーすると、プレビュー時に以下の画像が表示され...
この記事では、カード ウォーターフォール レイアウトを実現するための CSS3 列のサンプル コード...
シンプルなアプリケーションの展開1. ディレクトリ構造: └── Pythonpro #ディレクトリ...
ウェブサイトの構築では、HTML と CSS に関するさまざまな問題に常に遭遇します。ウェブサイト ...