開発者とオペレーターが注目すべき Linux デバッグ ツール [推奨]

開発者とオペレーターが注目すべき Linux デバッグ ツール [推奨]

システム パフォーマンスの専門家である Brendan D. Gregg 氏は、LinuxCon NA 2014 カンファレンスで、Linux パフォーマンスに関する有名な講演 (Linux パフォーマンス ツール) とスライドを更新しました。日常の Linux 開発で使用されるツールを、監視、テスト、最適化、構成の観点からまとめています。以下に主な写真と情報を記載しますので、ご参考になれば幸いです。

パフォーマンス ツール (Linux パフォーマンス ツール - フル)

この画像は、監視、テスト、およびチューニングのプロセスの高解像度バージョンです。後ほどカテゴリごとに別々に表示されます。

Linux パフォーマンス ベンチマーク ツール

ベンチマークは、データセット、ワークロード、測定指標の 3 つの部分で構成される評価方法です。コンピュータ分野全体にわたって長期的な応用が可能です。

コンピュータ分野におけるベンチマークの最も成功した応用はパフォーマンス テストであり、主に負荷の実行時間、伝送速度、スループット、リソース使用率などをテストします。

Linux パフォーマンス観測ツール

監視内容の違いに応じて、ツールは基本、中級、上級の 3 つのレベルに分けられます。それぞれ以下の3つの章に対応

基本的な Linux 監視ツール

パフォーマンスツール

perf-tools: は、Brendan Gregg によって作成されたツールセットです。その目標は、最小限の依存関係で最大限の機能を実現し、簡単にインストールして使用できるようにすることです。

一つのことをしっかりやり遂げなさい。 ——ブレンダン・グレッグ

サル

sar (System Activity Reporter) は、Linux で最も包括的なシステム パフォーマンス分析ツールの 1 つです。ファイルの読み取りと書き込み、システム コールの使用状況、ディスク I/O、CPU 効率、メモリ使用量、プロセス アクティビティ、IPC 関連アクティビティなど、さまざまな側面からシステム アクティビティをレポートできます。

Linux パフォーマンス チューニング ツール

ほとんどのシステムでは、負荷の増加に対してある程度のパフォーマンス低下を伴います。システムがより高い負荷を受け入れる能力はスケーラビリティと呼ばれ、より高い負荷を処理できるようにシステムを変更することがパフォーマンス チューニング ツールの目的です。

トレース ツール (Linux bcc/BPF ツール)

Linux では、システム管理者や開発者にパフォーマンス分析やトラブルシューティングのための多数の新しいツールやダッシュボードを提供する新しいテクノロジーが登場しています。これはBPF(Berkeley Packet Filter)と呼ばれます。

eBPF は BPF の拡張バージョンであり、Linux 4.x シリーズ カーネルに追加されています。パケットをフィルタリングするだけでなく、Linux の動的トレース、静的トレース、分析イベントでカスタム アナライザーを実行できます。

静的情報 (Linux 静的パフォーマンス ツール)

これらは Linux 実践者には非常によく知られていると思います。

仕事をうまくやり遂げたいなら、まず道具を研がなければなりません。優れたツールを使用すると、問題をすばやく特定し、デバッグ サイクルを短縮できます。 Linux プラットフォームには非常に多くのツールがあるため、どれが最適かを判断するのは困難です。最も試行錯誤されたシンプルなツールはすべて上記の記事に記載されています。あなたはそれらをすべて知っていますか?

要約する

以上が、開発や運用・保守に欠かせないLinuxデバッグツールの紹介です。お役に立てれば幸いです。ご質問がございましたら、メッセージを残していただければ、すぐに返信させていただきます。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。
この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

以下もご興味があるかもしれません:
  • パフォーマンステストにPython標準ライブラリを使用する方法
  • Python でパフォーマンス テスト ツールを作成する (パート 1)
  • パフォーマンステスト監視ネットワークスループットプロセスの詳細な説明

<<:  JavaScript における正規表現の実際的な応用の詳細な説明

>>:  MySQL における count(*)、count(1)、count(col) の違いのまとめ

推薦する

HTML コードの書き方に関する提案のまとめ

リソースファイルのプロトコルを省略する画像、メディアファイル、スタイル、スクリプトの URL では、...

Centos7 での MySQL 5.7.20 のインストールと設定に関する詳細なチュートリアル

1. 公式 Web サイトから MySQL 5.7 インストール パッケージ (mysql-5.7....

Bootstrap 3.0 学習ノート グリッドシステムの原則

前の 2 つの記事の簡単な紹介を通じて、Bootstrap についての基礎的な理解が得られました。 ...

アコーディオンセカンダリメニューを実装するためのjQueryプラグイン

この記事では、jQueryプラグインを使用してアコーディオンセカンダリメニューを作成します。具体的な...

HTML タグ tbody の使い方と説明

tbody 要素は、thead 要素および tfoot 要素と組み合わせて使用​​する必要があります...

CSS 線形グラデーション凹型長方形遷移効果の実装

この記事では、線形グラデーションの凹四角形の遷移効果の難しさやアイデアについて説明します。主に、凹四...

Linux でのファイル コンテンツの重複排除と交差と差異の実装

1. データ重複排除日常業務では、Hive や Impala を使用してクエリとエクスポートを行う際...

ドラッグアンドドロップによる並べ替えの詳細を実現する js

目次1. はじめに2. 実装3. HTML ドラッグ アンド ドロップ API を使用しないのはなぜ...

CocosCreatorでシューティングゲームを作る詳しい解説

目次シーン設定ゲームリソース砲塔の回転動的に生成された弾丸衝突計算効果を高めるターゲットの動き弾薬庫...

MySQL 5.7.18 リリース インストール ガイド (bin ファイル バージョンを含む)

インストール プロセスは、コンパイル手順を除いて、基本的にソース バージョンと同じです。この記事では...

dockerでnginxを実行するときにdaemon offが使用される理由についての簡単な説明

とても嬉しいです。この問題に遭遇したとき、私はDockerコンテナのプロセス原理について話さなければ...

MySQLデータベースのSYNフラッディング問題を解決する

Syn 攻撃は、最も一般的で最も簡単に悪用される攻撃方法です。TCP プロトコルの欠陥を利用して、偽...

CSSレイアウトで中央揃えレイアウトを実現する方法

1. 親コンテナーをテーブルに設定し、子をインライン要素に設定します。テキストを表示するサブコンテン...

HTML でシンプルな ListViews 効果を実装するためのサンプル コード

シンプルなリストビュー効果を実現するHTML結果: CSS スタイル ファイル listviewTe...

Linux は suid vim.basic ファイルを使用して権限昇格を実現します。

カリで再現まず、必要なvim.basicファイルにsuid権限を設定します。 chmod u+s /...