など急増CPUとメモリ一般的により高い処理ステップを舞い上がります

ステップCPUの処理舞い上がります

  1. トップのCPUの高い(トップ-c)プロセスが消費をご覧ください

  2. (トップ-h -p PID)、CPUの高いを消​​費しているスレッドを見つけるためにトップ-h -p

このコマンドは、単に見つかったプロセスのすべてのスレッドのリソース消費量を表示することができます。

  1. printfの%X変換PIDのためのベースであります

高CPU負荷スレッドは8627を見つけるのpid、この図は、(使用Linuxコマンド、10進16進転送:のprintf%X 8627)21B3、16進数に変換されます。

  1. Jstackスタック情報記録処理

実行jstack -l PID、スレッドダンプファイルを取得するためのプロセス。このコマンドは、プロセスのスタックを実行するために、すべてのスレッドを再生します。

  1. CPUの最高消費を識別するための情報をスレッド

「21B3」を検索し、16進スレッドIDに関する表示が判明しました。検索した後、次のスタックは、このスレッドから出て遊んでいます。

メモリはステップを処理舞い上がります

  1. 時間を確認するためにJSTATコマンドが消費とFGCの数が発生し、より多くの数、長い時間のかかる問題を示しています。

JSTATコマンドが観測されたクラスローダ、コンパイラ、GC情報とすることができます。あなたは常にリソースとパフォーマンスを監視することができます

  1. ビューjmapの-heap連続稼働を表示古い世代、より大きな問題変更プログラム。

メモリ割り当て、実行するJavaプログラムの詳細を与えるためにjmapのコマンド(jmapの[オプション] PID)。インスタンスの数、例えば、サイズなど

  1. 連続jmapのを-histo使用:差よりもオブジェクトをロードし、ファイルをエクスポートするために、ライブのコマンドを、違いは、通常は問題がある部分です。

単核は高いGCによる急騰しました

  1. シングルCPU占​​有率、GCからの最初のチェック。

共通SYは舞い上がります

1.頻繁なスレッドコンテキスト切り替え

  1. あまりにも多くのスレッド

  2. ロック競争

IOは舞い上がります

  1. CPU使用率が高いIOである場合、調査は、NIOに変換OIOとして、IOプログラムに関する。

ジッタの問題

理由:マシンコードにバイトコードがCPUのタイムスライスを必要と、バイトコードの実装におけるCPUの多くは、長い間高いままにするCPUの原因となります。

現象: "C2 CompilerThread1" デーモン、 "C2 CompilerThread0" 最高のCPU使用率デーモン。

ソリューション:CPUの割合がスレッドをコンパイルすることを確実にします。

公開された44元の記事 ウォン称賛20 ビュー1807

おすすめ

転載: blog.csdn.net/qq_45019159/article/details/104258728