開発者とオペレーターが注目すべき 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) の違いのまとめ

推薦する

Tomcat をアンインストールして再インストールする方法 (画像とテキスト付き)

tomcat9をアンインストールする1. Tomcatのインストールはディレクトリに解凍するだけで...

Centos システムの指定された場所に Nginx をインストールする方法

Centos システムの指定された場所に Nginx をインストールするにはどうすればいいですか?は...

CentOS で新しいユーザーを作成し、キーログインを有効にする方法

目次新しいユーザーを作成する新規ユーザーを承認する新規ユーザーのSSHキーログインを有効にする他のS...

JavaScript シングルスレッドと非同期の詳細

目次1. タスクキュー2. 混乱を招く問題を説明する1. setTimeout(f1,0)とは何です...

Linux mpstat コマンドの使用方法の詳細な説明

1. mpstatコマンド1.1 コマンド形式 mpstat [ -A ] [ -u ] [ -V ...

Linux ifconfig コマンドの使用

1. コマンドの紹介ifconfig (ネットワーク インターフェイスを構成する) コマンドは、ネッ...

Docker ベースの Redis マスタースレーブ クラスタの実装

目次1. Redisイメージを取得する2. 6つのRedisコンテナを作成する3. Redisコンテ...

jsはreduceメソッドを使用してコードをよりエレガントにします

序文実際のプロジェクトでは、最も一般的な処理は計算とループロジックである可能性があります。配列でre...

フローティング要素が親要素の高さを崩す原因と解決策の詳細な説明

フローティング要素は、親要素の高さを縮小します。要素を float float:left/right...

Tomcat をサービスとして登録する際に注意すべき点のまとめ

Tomcat をサービスとして登録する場合の注意点は次のとおりです。 インターフェースを開いたら、以...

Reactイベントバインディングの詳細な説明

1. 何ですかreactアプリケーションでは、イベント名はキャメルケース形式で記述されます。たとえ...

Docker を使用して Redis マスター スレーブ レプリケーション クラスターを構築する

マスタースレーブレプリケーションモードのクラスターでは、通常、1 つのマスターノードと 2 つ以上の...

Reactのヒントはフックの依存関係の問題を解消する方法を教えます

reactプロジェクトで非常に一般的なシナリオ: const [watchValue、setWatc...

Nodeはkoa2を使用してシンプルなJWT認証方式を実装します

JWT の紹介JWTとは正式名称はJSON Web Tokenで、現在最も人気のあるクロスドメイン認...

tomcatでcatalina.outログをカットする3つの方法の詳細な説明

1. ログセグメンテーションのためのLog4j 1) log4j-1.2.17.jar、tomcat...