Linux システムのパフォーマンスを分析するための top コマンドの詳細な説明

Linux システムのパフォーマンスを分析するための top コマンドの詳細な説明

Linux topコマンドの紹介

top コマンドは、Linux でよく使用されるパフォーマンス分析ツールです。Windows タスク マネージャーと同様に、システム内の各プロセスのリソース使用状況をリアルタイムで表示できます。

top は、システムの現在のプロセスとその他の状態を表示します。これは動的な表示プロセスです。つまり、ユーザーがキーを押すことで、現在の状態を継続的に更新できます。このコマンドがフォアグラウンドで実行されると、ユーザーがプログラムを終了するまで、フォアグラウンドを独占的に占有します。より正確に言うと、top コマンドは、システム プロセッサのリアルタイムの状態監視を提供します。システム内で CPU に最も「敏感」なタスクのリストが表示されます。このコマンドは、CPU 使用率、メモリ使用率、および実行時間でタスクを並べ替えることができます。また、コマンドの多くの機能は、対話型コマンドまたは個人のカスタム ファイルで設定できます。

Linux システムでは、top コマンドはシステム パフォーマンスを分析するための最も便利なツールであり、top は対話型ツールでもあります。top コマンドを使用すると、プロセス ID、メモリ使用量、CPU 使用量など、実行中のプロセスの情報を明確に把握できます。実際、これは Windows のタスク マネージャーに似ています。

top コマンドを実行した結果は次のとおりです。

1 行目はタスク キューの情報で、uptime コマンドの実行結果に似ています。具体的なパラメータは次のとおりです。

  • 19:40:19 — 現在のシステム時刻を参照します
  • up 35 days, 20:32 — システムが 35 日、20 時間、32 分間稼働していることを意味します (この期間中にシステムが再起動されておらず、継続的に稼働していることを意味します)
  • 1 人のユーザー — 現在 1 人のユーザーがシステムにログインしています
  • 負荷平均: 0.00、0.00、0.00 — 負荷平均の後の 3 つの数字は、それぞれ 1 分、5 分、15 分の負荷状態です。
  • 負荷平均データは、特定のアルゴリズムを使用して 5 秒ごとにアクティブなプロセスの数をチェックすることによって計算されます。この数値を論理 CPU の数で割った結果が 5 を超える場合は、システムが過負荷になっていることを示します。

2 行目の「タスク - タスク (プロセス)」の具体的な情報は次のとおりです。

  • 現在、システムには合計 81 個のプロセスがあり、そのうち 1 個は実行中、80 個はスリープ中、0 個は停止中、0 個はゾンビです。ゾンビ プロセスには特に注意してください。

3 行目には CPU ステータス情報が含まれます。具体的な属性は次のとおりです。

  • 0.0%us — ユーザー空間によって使用される CPU の割合。
  • 0.0%sy — カーネル空間によって使用される CPU の割合。
  • 0.0%ni — 優先度が変更されたプロセスによって使用されたCPUの割合
  • 100.0%id — アイドル CPU の割合
  • 0.0%wa — IO待機によって使用されるCPUの割合
  • 0.0%hi — ハードウェア IRQ が占有する CPU の割合
  • 0.0%si — ソフトウェア割り込みによって占有される CPU の割合
  • 0.0%st — これについては私もわかりません…

4 行目、Mem メモリ ステータス、具体的な情報は次のとおりです。

  • 合計 1029828k — 合計物理メモリ (1GB)
  • 804628k 使用済み — 使用中の合計メモリ (767M)
  • 228200k 空き — 合計空きメモリ (217M)
  • 167208k バッファ — キャッシュメモリの量 (159M)

5 行目にはスワップ パーティションの情報が含まれています。具体的な情報は次のとおりです。

  • 0k 合計 — 合計スワップ サイズ (0K)
  • 0k 使用済み — 使用されたスワップの合計 (0K)
  • 0k 空き — 空きスワップ領域の合計 (0K)
  • 401672k キャッシュ済み — キャッシュされたスワップの合計量 (383M)

6行目、空白行。

7行目以降:各プロセス(タスク)のステータス監視、列情報は以下のとおりです。

  • PID — プロセスID
  • ユーザー — プロセスの所有者
  • PR — プロセスの優先度
  • NI — 素晴らしい価値。負の値は優先度が高いことを示し、正の値は優先度が低いことを示します
  • VIRT — プロセスによって使用される仮想メモリの合計量(キロバイト単位)。仮想=スワップ+リソース
  • RES — プロセスによって使用され、スワップアウトされていない物理メモリのサイズ (KB 単位)。 RES=コード+データ
  • SHR — 共有メモリサイズ(KB)
  • S — プロセスのステータス。 D = 中断不可能なスリープ状態 R = 実行 S = スリープ T = トレース/停止 Z = ゾンビプロセス
  • %CPU — 前回の更新以降に使用されたCPU時間の割合
  • %MEM — プロセスが使用する物理メモリの割合
  • TIME+ — プロセスが使用したCPU時間の合計(1/100秒単位)
  • COMMAND — プロセス名(コマンド名/コマンド ライン)

top コマンドのパラメータ:

  • -b バッチ処理
  • -c 完全なコマンドを表示する
  • -I 無効化プロセスを無視
  • -s 機密モード
  • -S 累積モード
  • -i<time> 間隔時間を設定する
  • -u<username>はユーザー名を指定します
  • -p<プロセス番号>はプロセスを指定します
  • -n<回数> 表示回数をループする

top の対話型コマンド (top コマンドの実行中に次のコマンドを入力します):

  • q: プログラムを終了します。
  • h または ?: ヘルプ画面を表示し、コマンドの簡単な概要を示します。
  • k: プロセスを終了します。システムは、終了する必要があるプロセスの PID と、プロセスに送信する必要があるシグナルを入力するようにユーザーに要求します。通常、シグナル 15 を使用してプロセスを終了できます。正常に終了できない場合は、シグナル 9 を使用してプロセスを強制的に終了します。デフォルト値は信号 15 です。このコマンドはセーフモードでは無効になります。
  • i: アイドルプロセスとゾンビプロセスを無視します。これはスイッチコマンドです。
  • M: 常駐メモリのサイズでソートします。
  • P: CPU 使用率で並べ替えます。
  • T: 時間/累積時間で並べ替えます。
  • W: 現在の設定を ~/.toprc ファイルに書き込みます。これはトップ構成ファイルを書き込むための推奨される方法です。
  • r: プロセスの優先順位を変更します。システムは、変更するプロセス PID と設定するプロセス優先度の値を入力するようにユーザーに要求します。正の値を入力すると優先度は下がり、負の値を入力するとプロセスの優先度は上がります。デフォルト値は 10 です。
  • l: 平均負荷と起動時間の情報を表示するように切り替えます。最初の隠れた行が表示されます。
  • m: メモリ情報を表示するように切り替えます。隠されたメモリラインが表示される
  • t: プロセスと CPU のステータス情報を表示するように切り替えます。非表示のCPU行が表示されます。
  • c: コマンド名と完全なコマンド ラインを表示するように切り替えます。 完全なコマンドを表示します。 この機能は非常に便利です。
  • S: 累積モードに切り替えます。
  • s: 2 回の更新間の遅延時間を変更します。システムはユーザーに新しい時間を秒単位で入力するよう要求します。小数点がある場合はmsに変換します。値 0 を入力すると、システムは継続的に更新されます。デフォルト値は 5 秒です。なお、時間を短くしすぎると、連続更新が発生して表示状況が明確に確認できなくなる可能性があり、システム負荷も大幅に増加します。
  • f または F: 現在の表示に項目を追加または削除します。
  • o または O: 表示される項目の順序を変更します。

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。

以下もご興味があるかもしれません:
  • Python ベースの Linux システムにおける特定のプロセスのパフォーマンス監視の考え方の詳細な説明
  • Linuxパフォーマンス監視コマンドの簡単な紹介
  • PHP+swoole+linuxによるシステム監視とパフォーマンス最適化の操作例
  • Linux サーバーのステータスとパフォーマンスに関連するコマンドの詳細な説明
  • Linux パフォーマンステスト pmap コマンドの詳細な説明
  • 収集する価値のある Linux サーバーのパフォーマンス最適化のヒント 20 選
  • Linux での Web パフォーマンス ストレス テスト ツール http_load の使用に関するチュートリアル
  • Linux で Web データの同期を実現する 4 つの方法 (パフォーマンス比較)
  • Linux+Nginx+Phpで高性能WEBサーバーを構築
  • Linux パフォーマンス監視ツール nmon のインストールと使用方法のチュートリアル分析

<<:  VueはTodoListの例をカプセル化し、ブラウザのローカルキャッシュのアプリケーションを実装します。

>>:  CPU、マシンモデル、メモリなどの情報を表示するLinuxシステム

推薦する

MySQLバッチは特定のフィールドのスペースを削除します

Mysql で特定のフィールドからスペースを一括削除する方法はありますか?文字列の前後のスペースだけ...

MYSQL から MARIADB へのプロジェクト移行に関するチュートリアル

データベース (MySQL) を準備します。すでに MySQL をお持ちの場合は、これを無視できます...

Nginx がリクエストを処理する際のマッチングルールの詳細な分析

nginx はリクエストを受信すると、まず server_name でサーバーを照合し、次にサーバー...

不規則な投影を実現するためのボックスシャドウとドロップシャドウのサンプルコード

border-radius で生成できる四角形やその他の図形に影を追加する場合 (「Adaptive...

Vue で動的パラメータと計算プロパティを使用する方法

1. 動的パラメータ2.6.0 以降では、角括弧で囲まれた JavaScript 式をディレクティブ...

MySQLの日付と時刻の間隔計算の分析例

この記事では、例を使用して、MySQL の日付と時刻の間隔計算について説明します。ご参考までに、詳細...

Vue のキーボードイベント監視の概要

キー修飾子キーボード イベントをリッスンする場合、詳細なキーを確認する必要があることがよくあります。...

前後の秒、分、時間、日数を取得するMySQLデータベース

現在の時刻を取得します: current_timestamp を選択します。出力: 2016-06-...

docker を使用して Linux 環境に Springboot パッケージをデプロイするチュートリアル

springboot には tomcat サーバーが組み込まれているため、jar パッケージにパッケ...

Reactはラジオコンポーネントのサンプルコードを実装します

この記事の目的は、最も明確な構造を使用していくつかのコンポーネントの基本機能を実装することです。皆さ...

Yahooのフロントエンド最適化に関する35のルールについての簡単な説明

概要: 仕事でも面接でも、Web フロントエンドのパフォーマンスを最適化することは非常に重要です。で...

画像比較を実現するjQueryプラグイン

この記事の例では、画像比較を実現するためのjQueryプラグインの具体的なコードを参考までに共有して...

フラットスタイルを使用してウェブサイトをデザインする方法

フラットなウェブサイト構造の本質はシンプルさです。コンテンツの重要なポイントを強調し、ページの装飾効...

React Nativeがシミュレータにリンクできない件について

React Native は、現在人気のオープンソース JavaScript ライブラリ React...