開発者とオペレーターが注目すべき 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リンクタグのrel属性

<link> タグは、現在のドキュメントと Web コレクション内の他のドキュメントとの...

Linux で実行中のすべてのプロセスを表示する方法

ps コマンドを使用できます。プロセスの PID など、現在実行中のプロセスに関する関連情報を表示で...

背景画像のみを180度回転させるCSS3実装例

1. 心の旅最近コックピットを書いていたときに、背景画像を単純に特定の角度に回転させるという問題につ...

MySql 組み込み関数の自習知識ポイントまとめ

文字列関数文字ascii(str)のASCIIコード値をチェックし、strが空の文字列の場合は0を返...

CSS でテキストカラーグラデーションを実装する 3 つの方法

Web フロントエンド開発のプロセスでは、UI デザイナーはグラデーション テキストを使用したデザイ...

HTML リンク アンカー タグと SEO におけるその役割の概要

<a> タグは主に、ハイパーリンクまたはアンカー リンクとも呼ばれるリンクとブックマーク...

Vueでパスワードの表示と非表示機能を実装するアイデアを詳しく解説

効果: アイデア:入力タイプ属性を使用して、タイプ値がテキストの場合はパスワードを表示し、タイプ値が...

HTMLウェブページのMETAタグのコンテンツを書く際のポイント

META タグは、HTML 言語のヘッダー領域にある補助タグです。作成者、日時、Web ページの説明...

MySQLとNavicatプレミアムのインストールと設定の詳細な手順

前提条件: Mac、zsh がインストールされ、bash のときに mysql がダウンロードされ、...

React のネストされたコンポーネントの構築順序

目次Reactの公式サイトではライフサイクルの説明を見ることができます次に、ネストされたコンポーネン...

Docker コンテナにおける Patroni の簡単な分析

目次イメージの作成ファイル構造Dockerファイルエントリポイント関数ファイルを生成するイメージを構...

Docker Consul の概要とクラスター環境構築手順(グラフィカルな説明)

目次1. Dockerコンサルの概要2. nginxとconsulをベースにした自動検出と高可用性の...

JavaScript のドキュメント オブジェクト モデル (DOM)

目次1. DOMとは何か2. 要素を選択する3. getElementById() 4. クエリセレ...

入力タイプ=ファイルスタイルを定義する方法

ファイルコントロールを美しくする理由は何ですか?他の子供たちはみんなきちんとしたきれいな服を着ている...

純粋な CSS でマークダウンの自動番号付けを実装するサンプル コード

問題の起源私がタイトルの番号付けの問題に初めて注目したのは、学部の論文を書いていた頃まで遡ります。当...