まず、top のいくつかのフィールドの意味を紹介します。 VIRT:仮想メモリ使用量 1. プロセスが使用するライブラリ、コード、データなどを含む、プロセスに必要な仮想メモリのサイズ RES:常駐メモリ使用量 1. プロセスが現在使用しているメモリサイズ(スワップアウトを除く) SHR: 共有メモリ 1. 自身のプロセスの共有メモリに加えて、他のプロセスの共有メモリも含まれる データ 1. データによって占有されているメモリ。 topが表示されていない場合は、fキーを押して表示してください。 top の実行中は、top の内部コマンドを使用してプロセスの表示方法を制御できます。内部コマンドは次のとおりです。 s – 画面の更新頻度を変更する 列名の意味 PIDプロセスID デフォルトでは、より重要な PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、および COMMAND 列のみが表示されます。表示される内容を変更するには、次のショートカットキーを使用できます。 f キーを使用して、表示されるコンテンツを選択できます。 f キーを押すと、列のリストが表示されます。az を押して対応する列を表示または非表示にし、最後に Enter キーを押して確定します。 トップの使い方: 使用する形式: トップ [-] [d] [p] [q] [c] [C] [S] [s] [n] パラメータの説明: d: 2 回の画面情報の更新間の時間間隔を指定します。もちろん、ユーザーは s 対話型コマンドを使用して変更することもできます。 p: 監視プロセスIDを指定して、特定のプロセスの状態のみを監視します。 q: このオプションを選択すると、遅延なくトップが更新されます。呼び出し元のプログラムにスーパーユーザー権限がある場合、top は可能な限り最高の優先度で実行されます。 S: 蓄積モードを指定します。 s: top コマンドをセーフモードで実行します。これにより、対話型コマンドの潜在的な危険性が排除されます。 i: top がアイドル状態またはゾンビ状態プロセスを表示しないようにします。 c: コマンド名だけでなく、コマンド ライン全体を表示します。 一般的なコマンドの説明: Ctrl+L: 画面を消去して書き直す K: プロセスを終了します。システムは、終了する必要があるプロセスの PID と、プロセスに送信する必要があるシグナルを入力するようにユーザーに要求します。通常、シグナル 15 を使用してプロセスを終了できます。正常に終了できない場合は、シグナル 9 を使用してプロセスを強制的に終了します。デフォルト値は信号 15 です。このコマンドはセーフモードでは無効になります。 i: アイドルプロセスとゾンビプロセスを無視します。これはスイッチコマンドです。 q: プログラムを終了する r: プロセスの優先順位を変更します。システムは、変更するプロセス PID と設定するプロセス優先度の値を入力するようにユーザーに要求します。正の値を入力すると優先度は下がり、負の値を入力するとプロセスの優先度は上がります。デフォルト値は 10 です。 S: 累積モードに切り替えます。 s: 2 回の更新間の遅延時間を変更します。システムはユーザーに新しい時間を秒単位で入力するよう要求します。小数点がある場合はmsに変換します。値 0 を入力すると、システムは継続的に更新されます。デフォルト値は 5 秒です。なお、時間を短くしすぎると、連続更新が発生して表示状況が明確に確認できなくなる可能性があり、システム負荷も大幅に増加します。 f または F: 現在の表示に項目を追加または削除します。 o または O: 表示される項目の順序を変更します l: 平均負荷と起動時間情報の表示を切り替えます。 m: メモリ情報を表示するように切り替えます。 t: プロセスと CPU のステータス情報を表示するように切り替えます。 c: コマンド名と完全なコマンド ラインを表示するように切り替えます。 M: 常駐メモリのサイズでソートします。 P: CPU 使用率で並べ替えます。 T: 時間/累積時間で並べ替えます。 W: 現在の設定を ~/.toprc ファイルに書き込みます。 トップコマンドの知識を向上させる マシン上で何が実行されているか、どのプロセスがメモリを消費してシステムを非常に遅くしているのかを把握しようとすると、top コマンドが最適です。 top は、Windows のタスク マネージャーや MacOS のアクティビティ モニターと同様に動作する非常に便利なプログラムです。 *nix マシンで top を実行すると、システム上で実行されているプロセスをリアルタイムで表示できます。 実行する top のバージョンに応じて、次のような表示が出ます。 トップ - 08:31:32 1 日前、4:09、ユーザー 0 人、負荷平均: 0.20、0.12、0.10 タスク: 合計 3、実行中 1、スリープ中 2、停止中 0、ゾンビ 0 %CPU: 0.5 us、0.3 sy、0.0 ni、99.2 id、0.0 wa、0.0 hi、0.0 si、0.0 st KiB メモリ: 合計 4042284、使用済み 2523744、空き 1518540、バッファ 263776 KiB スワップ: 合計 1048572、使用済み 0、空き 1048572。キャッシュされたメモリ 1804264 PID ユーザー PR NI 仮想リソース SHR S %CPU %MEM 時間+ コマンド 1 ルート 20 0 21964 3632 3124 S 0.0 0.1 0:00.23 バッシュ 193 ルート 20 0 123520 29636 8640 S 0.0 0.7 0:00.58 フラスコ 195 ルート 20 0 23608 2724 2400 R 0.0 0.1 0:00.21 トップ お使いのバージョンの top は、特に表示される列がこれとは異なる場合があります。 出力の読み方 出力を見れば何を実行しているかはわかりますが、結果を解釈しようとすると少し混乱することがあります。 最初の数行には一連の統計情報 (詳細) が含まれ、その後に結果の列を含む表 (列) が続きます。後者から始めましょう。 リスト これらはシステム上で実行されているプロセスです。デフォルトのソートは CPU 使用率の降順です。これは、リストの先頭にあるプログラムがより多くの CPU リソースを使用しており、システムに重い負荷をかけていることを意味します。リソース使用量の点では、これらのプログラムは文字通り最も多くのリソースを消費する上位のプロセスです。トップという名前はとても賢いと思います。 右端の COMMAND 列には、プロセス名 (プロセスを開始したコマンド) が報告されます。この例では、プロセス名は bash (top を実行しているコマンド インタープリター)、flask (Python で記述された Web フレームワーク)、および top 自体です。 その他の列には、プロセスに関する有用な情報が提供されます。
VIRT、RES、SHR 値が何を表しているかを正確に知ることは、日常の運用においては重要ではありません。 VIRT 値が最も高いプロセスが最も多くのメモリを使用するプロセスであることを知っておくことは重要です。 top を使用してコンピューターの動作が遅い理由を調べる場合、VIRT 値が最も高いプロセスが原因であることがわかります。共有メモリと物理メモリの正確な意味を知りたい場合は、トップマニュアルページの「Linux メモリ タイプ」セクションを参照してください。 はい、キロバイトではなくキビバイトと言いました。 1024 という値はキロバイトと呼ばれることが多いですが、実際はキビバイトです。ギリシャ語の「キロ (χίλιοι)」は「1000」を意味します (たとえば、1 キロメートルは 1000 メートル、1 キログラムは 1000 グラムです)。 Kibi は、キロとバイナリを組み合わせた造語で、1024 バイト (または 2^10) を意味します。しかし、この単語は発音が難しいため、1024 バイトを意味するときにキロバイトと言う人が多くいます。 top はここで適切な用語を使用しようとしているので、そのまま受け取ってください。 画面更新手順 リアルタイムの画面更新は、Linux プログラムが実行できる非常に優れた機能の 1 つです。つまり、プログラムは表示するコンテンツをリアルタイムで更新できるため、テキストを使用していても動的に表示されます。とてもかっこいいですね!私たちの場合、一部の統計情報 (%CPU と %MEM) は最後の画面更新の値に基づいているため、更新間隔は重要です。 永続的なアプリケーションで実行されているため、アプリケーションを停止して別のコマンドライン オプションで再度実行するのではなく、コマンドを入力してリアルタイムで構成を変更できます。 h を押すとヘルプ画面が呼び出され、デフォルトの遅延 (画面の更新間隔) も表示されます。この値はデフォルトで (およそ) 3 秒に設定されていますが、d (おおよそ遅延を意味する) または s (おそらく画面または秒を意味する) と入力して変更できます。 詳細 プロセス リストの上には役立つ情報が多数あります。いくつかの詳細は少し奇妙でわかりにくいようです。しかし、時間をかけて一つずつ確認してみると、いざというときに非常に役立つことがわかります。 最初の行にはシステムに関する一般的な情報が含まれています。
2 行目 (タスク) には実行中のタスクに関する情報が表示され、その内容は一目瞭然です。プロセスの合計数と、実行中、スリープ中、停止中、ゾンビ プロセスの数が表示されます。これは実際には上記の S (ステータス) 列の合計です。 3 行目 (%Cpu(s)) には、タイプ別の CPU 使用率が表示されます。データは画面の更新間の値です。値は次のとおりです。
t (トグル) をクリックすると、タスク行と %Cpu 行を展開したり折りたたんだりできます。 4 行目 (KiB Mem) と 5 行目 (KiB Swap) は、メモリとスワップ領域に関する情報を提供します。これらの値は次のとおりです。
デフォルトでは KiB で表示されますが、E (メモリ スケーリングの拡張) を押すと、KiB、MiB、GiB、TiB、PiB、EiB (キロバイト、メガバイト、ギガバイト、テラバイト、ペタバイト、エクサバイト) などのさまざまな単位に切り替えることができます。 オプションと設定項目の詳細については、上部のマニュアル ページを参照してください。 man top を実行すると、システム上のドキュメントを表示できます。 HTML マニュアル ページも多数ありますが、これらは top の異なるバージョンに固有のものである可能性があることに注意してください。 2つの主要な選択肢 システムの状態を確認するために常に top を使用する必要はありません。特に、よりグラフィカルでプロフェッショナルなインターフェースが必要な場合は、状況に応じてトラブルシューティングを支援する他のツールを使用できます。 hトップ htop は top に似ていますが、非常に便利な機能を備えています。CPU とメモリの使用状況をグラフィカル インターフェイスで表示できます。 これは、先ほど top を実行したのと同じ環境で htop を実行すると次のようになります。表示はシンプルですが、機能は豊富です。 タスク統計、負荷、稼働時間、プロセス リストは引き続き表示されますが、見やすくカラフルで動的なコアごとの CPU 使用率と、グラフィカルなメモリ使用量チャートも表示されます。 それぞれの色の意味は次のとおりです (h を押すと、この情報に関するヘルプも表示されます)。 CPU タスクの優先度またはタイプ:
メモリ:
色がうまく機能しない場合は、htop -C を実行して色を無効にすることができます。そうすると、htop は異なるシンボルを使用して CPU とメモリの種類を表示します。 下部には、フィルター結果を操作したり、並べ替え順序を変更したりするために使用できるアクティブなショートカット キーヒントのセットがあります。いくつかのショートカット キーを試して、その機能を確認してください。ただし、F9 を試すときは注意してください。プロセスを強制終了 (停止) するシグナルのリストが表示されます。これらのオプションを本番環境外で検討することをお勧めします。 htop の作者である Hisham Muhammad (そう、htop は Hisham にちなんで名付けられました) が、2 月に FOSDEM 2018 で短い講演を行いました。彼は、htop にはシンプルなグラフィカル インターフェイスがあるだけでなく、以前のツール (top など) では利用できなかったプロセス情報統計を表示するより現代的な方法も備わっていると説明しました。 htop の詳細については、マニュアル ページまたは htop Web サイトを参照してください。 (ヒント: ウェブサイトの背景は動的な htop です。) docker 統計 Docker を使用している場合は、docker stats を実行して、コンテナのステータスに関するリッチでコンテキストに応じたインターフェースを生成できます。 これはプロセスではなくコンテナによって分類されるため、top よりも役立つ可能性があります。これは、コンテナの実行速度が遅い場合に特に役立ち、top を実行してコンテナの進行状況を確認するよりも、どのコンテナが最も多くのリソースを消費しているかを確認する方が速くなります。 上記の top および htop の用語の説明を参考にすれば、docker stats でのそれらの用語を理解しやすくなるはずです。ただし、docker stats のドキュメントには、各列の詳細な説明が記載されています。 要約する 以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。 以下もご興味があるかもしれません:
|
>>: MySQL デッドロックのトラブルシューティング プロセスの完全な記録
mysql のインストール情報を表示します。 #ps -ef | grep mysql usr/bi...
この記事では、例を使用して MySQL ストアド プロシージャのエラー処理について説明します。ご参考...
HTML の select 要素に関する質問は、さまざまな場所で提起されています。最近のプロジェクト...
序文: MySQL システムには、さまざまな種類のログが存在します。さまざまなログにはそれぞれ独自の...
次のグラフは、100 個の異なる要素で iframe を作成するのにどれくらいの時間がかかるかを示し...
学習プロセス中にプッシュ イメージが常にタイムアウトすることがわかったため、Alibaba Clou...
以下のように表示されます。 1. ssh -v -p [ポート番号] [ユーザー名]@[IPアドレス...
今日、私はプロジェクトの移行の問題に取り組んでいましたが、突然、大量の写真をどうやって移動したらよい...
失敗の原因今日、カルーセルを書いていたときに、overflow;hidden; が失敗する可能性があ...
1. 親コンテナーをテーブルに設定し、子をインライン要素に設定します。テキストを表示するサブコンテン...
この記事では、円形のプログレスバー効果を実現するためのJavaScriptの具体的なコードを参考まで...
目次導入1. MySQL マスタースレーブレプリケーション1. MySQLレプリケーションタイプ2....
1. IDEAの下にあるターミナルをクリックし、mvn clean installと入力します。 次...
1. オーバーフローOverflow はオーバーフロー(コンテナ)です。コンテンツがコンテナを越える...
1 MySQLをダウンロードするダウンロードアドレス: http://downloads.mysq...