パフォーマンスの最適化
コア・パフォーマンスの最適化は、システムのボトルネック箇所を特定することで、問題が発見され、作業の最適化が行わ半分であり、パフォーマンスの最適化は、二つのレベルを導入するために主にここで紹介する:システム・レベルとプログラムレベルを。
上
対話モードに入った後:
- 入力M、プロセスのリストは、私たちは消費者が問題を使用して最大のメモリを観察するために、サイズのメモリ使用量を降順でソート(メモリリークを検出するため)
- 入力P、問題がある場合、私たちは、ほとんどのCPUリソースを消費し、ユーザーを観察するために、降順でのCPU使用率の大きさによって、プロセスのリスト
第三のトップラインは、2つの重要な値が存在する現在のシステムを示しています。
- %イド:CPUのアイドル時間の割合、およびこの値が低すぎると、システムがボトルネックCPUを示し、
- %和:この値が高すぎると、CPU時間のI / Oの割合を待っているIOボトルネックの存在を示します
メモリのボトルネック分析
多くのトラブル、より直感的なコマンドと自由を見てtopコマンドを使用して、メモリのボトルネックかどうかを確認してください。
トップツールが表示され、最初の行無料のツールのすべての情報が、使用可能な実メモリー、あなたも自分のコンピューティングを知っておく必要があります。第二列の無料+バッファ+キャッシュ済みの無料のツール出力のため、実際のシステムメモリが利用できます。
それは仕事のスワップアウトを行うシステム停止になるので、それは、理由は明らかにメモリ不足、遅いシステム応答である場合。
IOボトルネック分析
IOのパフォーマンスのボトルネック場合は、一番上のツール%のwaは高くなります。
- %の値がiowaitのは高すぎる、ハードディスクI / Oのボトルネックが存在することを示している場合
- %、100%に近い使用率、生成されたI / Oがあまりにも要求していることを示し、I / Oシステムが全容量であった場合、ディスクがボトルネックであってもよいです
- I / Oのために待機するsvctmの近くには、ほとんどの時間を待っていない場合
- svctmがよりはるかに大きい待っていた場合は、I / Oキューの長すぎる、遅すぎるIO応答が必要なの最適化を行う必要があります
- avgqu-SZ比較的大きい場合は、またIOを待っているのがたくさんあると述べました
分析プロセスの呼び出し
pstackの和pstrace。
簡単に問題を特定することができ、このコマンドを使用して、我々はサービスが(例えば、無限ループのような仮死状態、など)作業状況にあったことを見つけるなど、プロセスの問題のトラブルシューティングを行う場合は、プロセス・スタックを追跡するために使用されるのpstack、このコマンドは便利です、あなたができる以上の期間内部に、それ数回のpstackを実行するには、見つかったコードのスタックは、常に同じ場所に駐車された場合、その場所に焦点を当てる必要があります、それはおそらく間違って行くことです。
straceの追跡およびシステムコールを処理するために使用される、システムコールとツールが動的追跡処理を行うことができる受信信号を。それは非常に効果的な検出、指導およびデバッグツールです。システム管理者は、簡単にプログラムコマンドによって問題を解決することができます。
手順を使用するgprofを
- G ++ -pg -o TEST.EXE TEST.CPPコンパイラ自動的にプログラム・コードを実行すると、パフォーマンステスト用のオブジェクトコードスニペットに挿入されたコンパイラのxlCのような-pgパラメータを使用してGCC、G ++、によってとき収集・コール機能や通話や記録機能そのものと呼ばれる関数の実行時間の実行時間数の関係。
- ./ TEST.EXE次のような実行可能プログラムの実行を、コンパイルした後。このステップの時間を実行するランタイム実行可能プログラムは、通常のコンパイルよりも少し遅くなります。プログラムは、この文書のgmon.outという名前のファイルにデフォルトのファイル・パスで生成された実行、後に、プログラムのパフォーマンスが実行されている記録の関係を呼び出し、そのような回数などのデータファイルの情報を呼び出すことです。
- gprofのTEST.EXE gmon.outというあなたは、ディスプレイ上の関数呼び出しに関連する統計、分析情報を見ることができる次のような情報のgmon.outファイルを、実行中の記録の分析に使用gprofのコマンドを実行します。上記情報は、その後の分析のためにテキストファイルにgprofをTEST.EXEのgmon.out> gprofresult.txtリダイレクトを使用することができます。
その他のツール
- valgrindの
- OProfileの
- SAR
学習されます。。。