コマンドラインのマニュアル

Man » top マニュアルオンライン - top マニュアルページの詳細なオンラインドキュメント

🌍
top - Linux プロセスを表示

概要

top [オプション]

説明

top プログラムは、実行中のシステムの動的なリアルタイムビューを提供します。システム全体の概要情報と、Linux カーネルによって現在管理されているプロセスまたはスレッドのリストを表示できます。表示するシステム全体の概要情報の種類、プロセスの種類、順序、およびサイズはすべてユーザーが構成でき、その構成は再起動後も維持できます。

このプログラムは、プロセスの操作のための限られたインタラクティブインターフェイスと、個人的な構成のためのより広範なインターフェイスを提供します。これは、その動作のあらゆる側面を網羅しています。また、このドキュメント全体で top とは書かれていますが、プログラムに任意の名前を付けることができます。新しい名前(おそらくエイリアス)は、top のディスプレイに表示され、構成ファイルを読み書きするときに使用されます。

概要

ドキュメント

残りの目次

概要
操作
Linux メモリタイプ
コマンドラインオプション
概要表示
UPTIME と LOAD 平均
タスクと CPU 状態
メモリ使用量
フィールド/列表示
フィールドの説明
フィールドの管理
インタラクティブコマンド
グローバルコマンド
概要エリアコマンド
タスクエリアコマンド
    外観
    コンテンツ
    サイズ
    ソート
色マッピング
代替表示の規定
ウィンドウの概要
ウィンドウのコマンド
ウィンドウのスクロール
ウィンドウでの検索
ウィンドウでのフィルタリング
ファイル
個人構成ファイル
検査項目の追加
システム構成ファイル
システム制限ファイル
環境変数
ばかげたトリックの例
    カーネルマジック
    バウンスするウィンドウ
    ビッグバードウィンドウ
    オールドスイッチルー
バグ、10。関連項目

操作

top を操作する場合、最も重要なキーは、ヘルプ (h または ?) キーと、終了 (`q') キーです。あるいは、単に従来の割り込みキー (^C) を使用して終了することもできます。

最初に起動すると、メインの top 画面に次の要素が表示されます。1) 概要エリア、2) フィールド/列ヘッダー、3) タスクエリア。これらの各要素は、次のセクションで詳しく説明します。また、概要エリアと列ヘッダーの間には入力/メッセージ行があり、これ以上の説明は必要ありません。

メインの top 画面は、X Window 下でターミナルのサイズが変更されたときに適応するようになっています。他の top 画面は、特に静的なテキストを含む場合は、そうでない場合があります。最終的には、特定のウィンドウマネージャーとターミナルエミュレーターによって異なります。ターミナルのサイズと現在のコンテンツの表示について、それらの表示と top の表示(常にオペレーティングシステムコールに基づいています)が異なる場合があります。

サイズ変更操作後、最上部の画面が破損したり、不完全になったり、または順序が乱れた場合は、句読点やカーソル移動キーなど、無害なものを入力するだけで、通常は復元されます。 最悪の場合、次のシーケンスを試してください。

キー/コマンド 目的
^Z  top を一時停止
fg  top を再開
<Left>  画面の再描画を強制する (必要な場合)

それでも画面が破損している場合は、もう 1 つ試せる手順があります。 top が一時停止された後、再開する前に、次のコマンドを挿入します。 キー/コマンド 目的 reset ターミナルの設定を復元

注: top の表示幅は、512 ポジションに制限されます。 すべてのフィールドを表示するには、約 250 文字が必要です。 残りの画面幅は、通常、現在表示されている可変幅の列に割り当てられます。 可変幅の列 (COMMAND など) は、3a の「フィールドの説明」で説明されています。 実際の出力幅は、1 の「コマンドラインオプション」で説明されている -w スイッチによっても影響を受ける場合があります。

最後に、top の画面または機能の一部では、標準の矢印キーに加えて、Home、End、PgUp、PgDn などのカーソル移動キーを使用する必要があります。 ターミナルまたはエミュレーターでこれらのキーが提供されない場合は、次の組み合わせを代替として使用できます。 キー 同等のキー Left alt + h Down alt + j Up alt + k Right alt + l Home alt + ctrl + h PgDn alt + ctrl + j PgUp alt + ctrl + k End alt + ctrl + l

上向きキーと下向きキーは、 キーで終了する行入力のプロンプトで特別な意味を持ちます。 これらのキー (またはそのエイリアス) を使用して、以前の入力行を呼び出し、編集して再入力できます。 また、行指向の入力で利用できる追加のキーが 4 つあります。 キー 特別な意味 Up 再編集する古い文字列を呼び出す Down 新しい文字列を呼び出すか、行全体を削除する Insert 挿入モードと上書きモードを切り替える Delete カーソル位置の文字を削除し、他の文字を左に移動する Home 入力行の先頭に移動する End 入力行の末尾に移動する

Linux メモリの種類

ここでは、3 種類のメモリと、オプションの 1 種類を扱います。 1 つ目は物理メモリで、コードとデータは実行または参照されるときにそこに存在する必要があるため、限られたリソースです。 2 つ目はオプションの swap ファイルで、変更された (ダーティ) メモリを保存し、物理メモリへの要求が多すぎる場合に後で取得できます。 最後に、仮想メモリがあり、ほぼ無制限のリソースであり、次の目標を達成します。

抽象化: 物理メモリのアドレス/制限から解放
分離: すべてのプロセスを個別のアドレス空間に配置
共有: 1 つのマッピングを複数のニーズで使用
柔軟性: 仮想アドレスをファイルに割り当てる

メモリがどのような形式であっても、すべてがページ(通常は4096バイト)として管理され、デフォルトではtopでKiB(キビバイト)で表示されます。トピック2c. メモリの使用状況で説明されているメモリは、システム全体の物理メモリとスワップファイルを指します。トピック3. フィールド/表示される列でレビューされているメモリは、3つのメモリタイプすべてを網羅しますが、個々のプロセスに対して行われます。

各プロセスでは、すべてのメモリページは以下の表の単一の象限に制限されます。物理メモリと仮想メモリの両方に4つのいずれかが含まれる可能性がありますが、スワップファイルには#1から#3のみが含まれます。象限#4のメモリは、変更されると、独自の専用スワップファイルとして機能します。

プライベート | 共有
1 | 2
匿名 | スタック
| . malloc() |
| . brk()/sbrk() | . POSIX shm*
| . mmap(PRIVATE, ANON) | . mmap(SHARED, ANON)
| -----------------------+---------------------. mmap(PRIVATE, fd) | . mmap(SHARED, fd)
ファイルにバッキング |
3 | 4

以下の情報は、スケーラブルな列として表示され、トピック3a. フィールドの説明で説明されているプロセスレベルのメモリ値を解釈するのに役立ちます。

%MEM - 単にRESを合計物理メモリで割った値
CODE - 象限3の`pgms`部分
DATA - 象限1のVIRT全体と、象限3の明示的なファイルにバッキングされたすべてのページ
RES - 物理メモリを占有するもので、Linux-4.5以降、以下の3つのフィールドの合計です。
RSan - 象限1のページ。これには、変更された場合の以前の象限3のページも含まれます。
RSfd - 象限3と象限4のページ
RSsh - 象限2のページ
RSlk - 象限に関係なく、スワップアウトできないRESのサブセット
SHR - RESのサブセット(1を含まず、2と4のすべて、および3の一部を含む)
SWAP - 4を除くすべての象限の可能性のあるページ
USED - 単にRESとSWAPの合計
VIRT - 使用中または予約されているすべてのもの(すべての象限)

注:プログラムイメージと共有ライブラリはプロセスに対してプライベートと見なされますが、カーネルによって共有(SHR)としてカウントされます。

コマンドラインオプション 長いオプションの必須引数は、短いオプションでも必須です。

必須ではありませんが、等号記号はどちらのオプション形式でも使用でき、=の前後にある空白は許可されます。

-b, --batch

topをバッチモードで開始します。これは、topの出力を他のプログラムやファイルに送信する場合に役立ちます。このモードでは、topは入力を受け付けず、-nコマンドラインオプションで設定した反復制限まで、または強制終了されるまで実行されます。

-c, --cmdline-toggle

topを最後の記憶されたc状態を反転させて開始します。したがって、topがコマンドラインを表示していた場合、そのフィールドにはプログラム名が表示されるようになります。詳細については、cインタラクティブコマンドを参照してください。

-d, --delay = SECS [.TENTHS]

画面の更新間の遅延を指定し、個人の構成ファイルまたは起動時のデフォルトの対応する値を上書きします。その後、dまたはsインタラクティブコマンドを使用して、これを変更できます。

-d, --delay = SECONDS
更新間隔を秒単位で設定します。小数も有効ですが、負の数は許可されていません。ただし、top がセキュアモードで実行されている場合、これらの変更は許可されません。root ユーザーの場合も同様です(`-s` コマンドラインオプションを使用した場合を除く)。セキュアモードの詳細については、トピック 6d「システム制限ファイル」を参照してください。

-E, --scale-summary-mem = k | m | g | t | p | e
top に、サマリー領域のメモリを次の単位で表示するように指示します。
k - キビバイト
m - メビバイト
g - ギビバイト
t - テビバイト
p - ペビバイト
e - エキサバイト

後で `E` コマンドで切り替えることができます。

-e, --scale-task-mem = k | m | g | t | p
top に、タスク領域のメモリを次の単位で表示するように指示します。
k - キビバイト
m - メビバイト
g - ギビバイト
t - テビバイト
p - ペビバイト

後で `e` コマンドで切り替えることができます。

-H, --threads-show
top に個々のスレッドを表示するように指示します。このコマンドラインオプションがない場合、各プロセスのすべてのスレッドの合計が表示されます。後で `H` インタラクティブコマンドで切り替えることができます。

-h, --help
使用方法を表示してから終了します。

-i, --idle-toggle
top を、最後に記憶された `i` 状態とは逆の状態にして起動します。このトグルがオフの場合、最後の更新以降 CPU を使用していないタスクは表示されません。このトグルに関する詳細については、トピック 4c「タスク領域コマンド、サイズ」を参照してください。

-n, --iterations = NUMBER
top が終了するまでに生成する最大イテレーション数(またはフレーム数)を指定します。

-O, --list-fields
このオプションは、以下に表示する `-o` オプションのヘルプとして機能します。top は、利用可能な各フィールド名を個別の行に出力してから終了します。これらの名前は、NLS(ナショナル言語サポート)の翻訳の対象となります。

-o, --sort-override = FIELDNAME
タスクをソートするフィールドの名前を指定します。これにより、構成ファイルに反映されている内容に関係なく、ソート方法を上書きできます。フィールド名の先頭に `+` または `-` を追加して、ソートの方向も上書きできます。先頭に `+` を付けると、高い値から低い値へのソートになり、`-` を付けると、低い値から高い値へのソートになります。

このオプションは主に、自動化された/スクリプト化されたバッチモード操作をサポートするために存在します。

-p, --pid = PIDLIST (例: 1,2,3,... または -p1 -p2 -p3...)
指定されたプロセス ID のプロセスのみを監視します。ただし、スレッドモード (`H`) と組み合わせた場合、監視対象の PID ごとに、スレッドグループ (TGID を参照) 内のすべてのプロセスも表示されます。

このオプションは最大 20 回まで使用できます。または、最大 20 個の PID を含むカンマ区切りのリストを指定することもできます。これらの両方の方法を組み合わせて使用することもできます。

PID 値がゼロの場合、top プログラム自体が実行されているときのプロセス ID として扱われます。

これはコマンドラインオプションであり、通常の状態に戻るには、top を終了して再起動する必要はありません。`=`、`u`、または `U` のいずれかのインタラクティブコマンドを入力するだけです。

^ p, -u, -U コマンドラインオプションは互いに排他的です。

`-S`, `--accum-time-toggle`
`S` で最後に記憶された状態と逆の状態にして `top` を起動します。累積時間モードがオンの場合、各プロセスは、プロセス自体と、そのプロセスの子プロセスが使用した CPU 時間とともにリスト表示されます。追加情報については、`S` インタラクティブコマンドを参照してください。

`-s`, `--secure-mode`
`top` をルートユーザーであってもセキュアモードで強制的に起動します。このモードは、システム構成ファイルを通じてより適切に制御できます (トピック 6. ファイルを参照)。

`-U`, `--filter-any-user = USER (数値または名前として)`
ユーザー ID またはユーザー名が指定されたものと一致するプロセスのみを表示します。このオプションは、任意のユーザー (実ユーザー、実効ユーザー、保存されたユーザー、またはファイルシステムユーザー) で一致します。

ユーザー ID または名前の前に感嘆符 (`!`) を付けると、指定されたユーザーと一致しないプロセスのみを表示するように `top` に指示します。

`-p`, `-U`, `-u` コマンドラインオプションは互いに排他的です。

`-u`, `--filter-only-euser = USER (数値または名前として)`
ユーザー ID またはユーザー名が指定されたものと一致するプロセスのみを表示します。このオプションは、実効ユーザー ID のみを一致させます。

ユーザー ID または名前の前に感嘆符 (`!`) を付けると、指定されたユーザーと一致しないプロセスのみを表示するように `top` に指示します。

`-p`, `-U`, `-u` コマンドラインオプションは互いに排他的です。

`-V`, `--version`
バージョン情報を表示して終了します。

`-w`, `--width [=COLUMNS]`
バッチモードでは、引数なしで使用すると、`top` は `COLUMNS=` および `LINES=` 環境変数が設定されている場合は、それらを使用して出力をフォーマットします。設定されていない場合は、幅は最大 512 列に固定されます。引数を使用すると、出力幅を減らすか増やすことができます (最大 512)。ただし、行数は無制限です。

通常の表示モードでは、引数なしで使用すると、`top` は `COLUMNS=` および `LINES=` 環境変数が設定されている場合は、それらを使用して出力をフォーマットしようとします。引数を使用すると、出力幅は減らすことはできますが、増やすことはできません。環境変数を使用する場合でも、引数と `-w` を使用する場合でも、バッチモードにない場合、実際のターミナルの寸法を超えることはありません。

注: このコマンドラインオプションを使用しない場合、出力幅は常に `top` が起動されたターミナルに基づいており、バッチモードであるかどうかは関係ありません。

`-1`, `--single-cpu-toggle`
`top` を、最後に記憶された CPU 状態部分の要約領域を反転した状態で起動します。すべての CPU 情報が 1 行に表示されるか、各 CPU が個別に表示されるかは、NUMA ノードコマンドトグル (`2`) の状態によって異なります。

詳細については、`1` および `2` インタラクティブコマンドを参照してください。

概要表示
次の 3 つの領域はそれぞれ、1 つ以上のインタラクティブコマンドを通じて個別に制御されます。詳細については、トピック 4b。概要領域コマンドを参照してください。

起動時間とロード平均
この部分は、1 行で構成され、次の情報が含まれます。
プログラムまたはウィンドウ名 (表示モードによって異なる)
現在の時刻と、最後の起動からの経過時間
ユーザーの合計数
過去 1 分、5 分、および 15 分間のシステムロード平均

タスクと CPU の状態

このセクションは、最低 2 行で構成されます。SMP 環境では、追加の行が個々の CPU の状態の割合を示すことができます。

1 行目には、スレッドモードの切り替えに応じて、合計タスクまたはスレッド数が表示されます。その合計は、さらに次のように分類されます。 実行中、スリープ中、停止、ゾンビ

2 行目には、最後の更新からの間隔に基づいて、CPU 状態の割合が表示されます。

デフォルトでは、これらの個別のカテゴリの割合が表示されます。カーネルのバージョンによっては、「st」フィールドが表示されない場合があります。 us: 優先度の低いユーザープロセスが実行されている時間 sy: カーネルプロセスが実行されている時間 ni: 優先度の高いユーザープロセスが実行されている時間 id: カーネルアイドルハンドラで費やされた時間 wa: I/O の完了を待機している時間 hi: ハードウェア割り込みの処理に費やされた時間 si: ソフトウェア割り込みの処理に費やされた時間 st: ハイパーバイザーによってこの VM から盗まれた時間

上記の「sy」の値には、ゲストオペレーティングシステム(優先度調整されたものを含む)の仮想 CPU を実行している時間も含まれます。

最初のタスク/スレッド行以降、4 方向の「t」コマンド切り替えを使用して、代替の CPU 表示モードを利用できます。これは、次の要素で構成される簡潔な概要を表示します。 a b c d %Cpu(s): 75.0/25.0 100[ ... ]

ここで、a) は「ユーザー」(us + ni)の割合、b) は「システム」(sy + hi + si + ゲスト)の割合、c) は合計の割合、d) は上記の割合の 2 つの視覚的なグラフのいずれかです。これらのグラフには、個別の「ユーザー」と「システム」の部分も反映されます。

「4」コマンド切り替えを使用して 2 つ以上の CPU を 1 行に表示する場合、結果はさらに簡略化され、a) と b) の要素が削除されます。ただし、その情報は、カラーが有効になっている場合はグラフ自体に、または、そうでない場合はバーとブロックの表示によって、依然として反映されます。

セクション 4b「概要領域コマンド」を参照して、「t」および「4」コマンド切り替えの詳細を確認してください。

メモリ使用量 このセクションは 2 行で構成され、「E」インタラクティブコマンドで適用されるスケーリング係数に応じて、キロバイト(KiB)からエクサバイト(EiB)までの値を表示できます。/proc/meminfo ソースフィールドは括弧内に表示されます。

1 行目には、物理メモリの分類が表示されます。
合計 (MemTotal)
空き (MemFree)
使用 (MemTotal - MemAvailable)
バッファ/キャッシュ (Buffers + Cached + SReclaimable)

2 行目には、主に仮想メモリの分類が表示されます。
合計 (SwapTotal)
空き (SwapFree)
使用 (SwapTotal - SwapFree)
利用可能 (MemAvailable。これは物理メモリです)

2 行目の「利用可能」の値は、スワップを行わずに新しいアプリケーションを開始するために利用可能な物理メモリの推定値です。空きフィールドとは異なり、すぐに再利用できるページキャッシュとメモリのスラブを考慮しようとします。カーネル 3.14 で利用可能で、カーネル 6.27+ でエミュレートされ、それ以外の場合は空きと同じです。


代替メモリ表示モードでは、次の要素で構成される2つの要約行が表示されます。 a b c GiB メモリ:18.7/15.738 [ ... ] GiB スワップ:0.0/7.999 [ ... ]

ここで:a) は使用率の割合、b) は利用可能な合計、c) は上記の表現の2つの視覚グラフのいずれかです。

物理メモリの場合、割合は合計から上記の推定利用可能量を引いたものを表します。 Mem グラフ自体は、使用済みのキャッシュされていない部分と、それ以外で説明されていない残りのメモリの間で分割されます。 4b. SUMMARY AREA コマンドと m コマンドを参照して、この特別な4方向切り替えに関する詳細情報を確認してください。

表示されるスケーリングされた値を解釈するのに役立つ表を次に示します。 KiB = キビバイト = 1024バイト MiB = メビバイト = 1024 KiB = 1,048,576バイト GiB = ギビバイト = 1024 MiB = 1,073,741,824バイト TiB = テビバイト = 1024 GiB = 1,099,511,627,776バイト PiB = ペビバイト = 1024 TiB = 1,125,899,906,842,624バイト EiB = エクシビバイト = 1024 PiB = 1,152,921,504,606,846,976バイト

フィールド / 列
フィールドの説明

以下に、top で利用可能なプロセスフィールド(列)を示します。これらは、厳密なASCII順で表示されます。 f(フィールド管理)インタラクティブコマンドを使用して、それらの位置と表示するかどうかをカスタマイズできます。

任意のフィールドはソートフィールドとして選択でき、ソートを昇順または降順で制御できます。ソートのプロビジョンに関する詳細については、4c. TASK AREA コマンド、SORTING を参照してください。

物理メモリまたは仮想メモリに関連するフィールドは、サフィックスのない表示モードで (KiB) を参照します。ただし、これらのフィールドは KiB から PiB までスケーリングできます。そのスケーリングは、e インタラクティブコマンドによって影響を受けたり、ビルドオプションによって起動時に設定されたりします。

%CPU -- CPU使用率

タスクが、最後の画面更新から経過したCPU時間のうち、合計CPU時間の何パーセントを占めているかを示します。

真のSMP環境では、プロセスがマルチスレッドであり、topがスレッドモードで動作していない場合、100%を超える値が報告されることがあります。スレッドモードは、H インタラクティブコマンドで切り替えます。

また、マルチプロセッサ環境では、Irixモードがオフの場合、topはSolarisモードで動作し、タスクのCPU使用率はCPUの総数で割られます。Irix/Solarisモードは、I インタラクティブコマンドで切り替えます。

注:フォレストビューモード(`V`)で子プロセスが折りたたまれている場合(`v`)、このフィールドにはそれらの表示されていない子プロセスのCPU時間も含まれます。4c. TASK AREA コマンド、CONTENTで`V`と`v`の切り替えに関する詳細情報を確認してください。

%CUC -- CPU利用率

このフィールドは、以下の%CUUとほぼ同じですが、パーセンテージには再帰された子プロセスも反映されます。


%CUU -- CPU使用率

タスクの合計CPU使用時間を、経過実行時間で割ったもので、パーセンテージで表されます。

プロセスが現在高いCPU使用率を表示している場合、このフィールドは、そのような動作が正常かどうかを判断するのに役立ちます。逆に、プロセスが現在低いCPU使用率を示す場合、%CUUは、そのプロセスがこれまでにかかった高い要求を反映している可能性があります。

%MEM -- メモリ使用率(RES)

利用可能な物理メモリのうち、タスクが現在占有している割合。

「概要、Linuxのメモリタイプ」のセクションを参照してください。

AGID -- オートグループ識別子

プロセスに関連付けられているオートグループ識別子。この機能は、CFSスケジューラと連携して、インタラクティブなデスクトップのパフォーマンスを向上させます。

/proc/sys/kernel/sched_autogroup_enabledが設定されている場合、新しいセッションごとに新しいオートグループが作成されます(SIDを参照)。そのセッションで後続にフォークされたすべてのプロセスは、このオートグループのメンバーシップを継承します。次に、カーネルは、そのようなグループ間でCPUサイクルを均等に分配しようとします。したがって、多くのCPU集約型プロセス(例:make -j)を持つオートグループは、1つまたは2つのプロセスしか持たないオートグループを支配することはありません。

-1が表示される場合は、この情報が利用できないことを意味します。

AGNI -- オートグループの優先度

オートグループの優先度。これは、そのグループ内のすべてのプロセスのスケジューリングに影響します。負の優先度値はより高い優先度を意味し、正の優先度値はより低い優先度を意味します。

CGNAME -- コントロールグループ名

プロセスが属するコントロールグループの名前。該当するプロセスがない場合は、'-'と表示されます。

通常、これは完全なリストの最後の項目として表示されます(次のCGROUPSセクションを参照)。ここでも同様に、このフィールドも可変幅です。

CGROUPS -- コントロールグループ

プロセスが属するコントロールグループの名前。該当するプロセスがない場合は、'-'と表示されます。

コントロールグループは、インストールで定義されたプロセスのグループ間で、リソース(CPU、メモリ、ネットワーク帯域幅など)を割り当てるための仕組みを提供します。これにより、これらのリソースの割り当て、拒否、優先順位付け、管理、および監視をきめ細かく制御できます。

システム上に複数の異なるコントロールグループの階層が同時に存在する場合があり、各階層は1つまたは複数のサブシステムにアタッチされます。サブシステムは、単一のリソースを表します。

注意:CGROUPSフィールドは、ほとんどの列とは異なり、固定幅ではありません。表示される場合、このフィールドとその他の可変幅の列は、残りの画面幅(最大512文字)すべてに割り当てられます。それでも、このような可変幅のフィールドは、切り捨てられる可能性があります。トピック5c「ウィンドウのスクロール」で、切り捨てられたデータにアクセスする方法の詳細を参照してください。

CODE -- コードサイズ(KiB)

実行可能なコード(Text Resident SetサイズまたはTRSとしても知られる)に現在割り当てられている物理メモリの量。

「概要、Linuxのメモリタイプ」のセクションを参照してください。

COMMAND -- コマンド名またはコマンドライン

タスクを開始するために使用されたコマンドライン、または関連付けられたプログラムの名前を表示します。cコマンドを使用して、コマンドラインと名前を切り替えることができます。これは、コマンドラインオプションとインタラクティブなコマンドの両方です。


コマンドラインを表示するように選択した場合、コマンドラインを持たないプロセス(カーネルスレッドなど)は、括弧内にプログラム名のみを表示します。例: [kthreadd]

このフィールドは、フォレストビュー表示モードによっても影響を受ける場合があります。「V」インタラクティブコマンドを参照して、詳細を確認してください。

注:COMMANDフィールドは、他の列とは異なり、固定幅ではありません。表示される場合、COMMANDフィールドとその他の可変幅の列は、残りの画面幅全体(最大512文字まで)に割り当てられます。ただし、それでも可変幅のフィールドは切り捨てられる可能性があります。これは、コマンドラインを表示している場合(「c」インタラクティブコマンド)に、特に当てはまります。切り捨てられたデータにアクセスする方法については、セクション5c「ウィンドウのスクロール」を参照してください。

DATA -- データ + スタックサイズ(KiB)

プロセスによって予約されたプライベートメモリの量です。これは、データレジデントセット(DRS)としても知られています。このようなメモリは、まだ物理メモリ(RES)にマップされていない可能性がありますが、常に仮想メモリ(VIRT)の量に含まれます。

「概要、Linuxのメモリタイプ」を参照して、詳細を確認してください。

ELAPSED -- 経過実行時間

プロセスが開始されてからの経過時間です。したがって、最近開始されたタスクは、最も短い時間間隔を表示します。

値は「HH,MM」(時間、分)で表示されますが、間隔が列幅に収まらない場合、追加のスケーリングが行われます。その場合、「DD+HH」(日数+時間)とさらにスケーリングされます。

ENVIRON -- 環境変数

それぞれのプロセスから見える環境変数をすべて、そのネイティブな順序で表示します(ソートされた順序ではありません)。

注:ENVIRONフィールドは、他の列とは異なり、固定幅ではありません。表示される場合、ENVIRONフィールドとその他の可変幅の列は、残りの画面幅全体(最大512文字まで)に割り当てられます。ただし、それでもフィールドが切り捨てられる可能性があります。これは、このフィールドに特に当てはまります。切り捨てられたデータにアクセスする方法については、セクション5c「ウィンドウのスクロール」を参照してください。

EXE -- 実行可能パス

利用可能な場合、これは実行可能ファイルへの完全なパスであり、プログラム名が含まれます。

注:EXEフィールドは、他の列とは異なり、固定幅ではありません。表示される場合、EXEフィールドとその他の可変幅の列は、残りの画面幅全体(最大512文字まで)に割り当てられます。

Flags -- タスクフラグ

この列は、タスクの現在のスケジューリングフラグを表し、16進表記で表示され、先頭のゼロは省略されます。これらのフラグは、に公式にドキュメントされています。


GID -- グループ ID
有効なグループ ID。

GROUP -- グループ名
有効なグループ名。

LOGID -- ログインユーザー ID
ログイン時に使用されるユーザー ID。-1 と表示されている場合は、この情報が利用できないことを意味します。

LXC -- Lxc コンテナ名
タスクが実行されている lxc コンテナの名前。プロセスがコンテナ内で実行されていない場合、ダッシュ (`-') が表示されます。

NI -- Nice 値
タスクの nice 値。負の nice 値はより高い優先度を意味し、正の nice 値はより低い優先度を意味します。このフィールドがゼロの場合は、優先度はタスクのディスパッチ可能性の決定に調整されないことを意味します。

注: この値は、同じ自動グループ内の他のプロセスに対するスケジューリング優先度にのみ影響します。追加の情報については、`AGID' および `AGNI' フィールドを参照してください。

NU -- 最後に使用された NUMA ノード
最後に使用されたプロセッサ (`P') に関連付けられた NUMA ノードを表す番号。-1 と表示されている場合は、NUMA 情報が利用できないことを意味します。

`2' および `3' インタラクティブコマンドを参照して、概要領域に影響を与える追加の NUMA プロビジョニングを確認してください。

OOMa -- メモリ不足調整係数
現在メモリ不足スコア (OOMs) に追加される値。範囲は -1000 ~ +1000 です。この値は、メモリが不足した場合にどのタスクを強制終了するかを決定するために使用されます。

OOMs -- メモリ不足スコア
メモリが不足した場合にタスクを強制終了するために使用される値。範囲は 0 ~ +1000 です。ゼロは「強制終了しない」、1000 は「常に強制終了する」を意味します。

P -- 最後に使用された CPU (SMP)
最後に使用されたプロセッサを表す番号。真の SMP 環境では、これは頻繁に変化する可能性があります。これは、カーネルが意図的に弱いアフィニティを使用するためです。また、`top' を実行する行為自体が、この弱いアフィニティを破り、より多くのプロセスがより頻繁に CPU を変更する原因となる可能性があります (CPU 時間に対する需要が増加するため)。

PGRP -- プロセスグループ ID
すべてのプロセスは、シグナルの配布とターミナルによる入力と出力のリクエストの仲裁に使用される一意のプロセスグループのメンバーです。プロセスが作成 (フォーク) されると、親のプロセスグループのメンバーになります。慣例により、この値はプロセスグループの最初のメンバー (プロセスグループリーダー) のプロセス ID (PID) と同じです。

PID -- プロセス ID
タスクの一意のプロセス ID。これは、周期的にリセットされますが、ゼロから開始することはありません。カーネルの用語では、これは `task_struct' によって定義されるディスパッチ可能なエンティティです。

この値は、次のように使用することもできます。プロセスグループ ID (PGRP を参照); セッションリーダーのセッション ID (SID を参照); スレッドグループリーダーのプロセスグループ ID (TGID を参照); および TTY プロセスグループリーダーの TTY プロセスグループ ID (TPGID を参照)。

PPID -- 親プロセス ID
タスクの親のプロセス ID (PID)。

PR -- 優先度
タスクのスケジューリング優先度。このフィールドに `rt' と表示されている場合は、タスクがリアルタイムスケジューリング優先度で実行されていることを意味します。

Linux では、リアルタイム優先度はある意味で誤解を招くものであり、伝統的にオペレーティングシステム自体はプリエンプティブではありませんでした。そして、2.6 カーネルはほとんどプリエンプティブにできるように変更されましたが、常にそうであるとは限りません。

PSS -- プロポーショナル・レジデント・メモリ、smaps (KiB)

このタスクの RSS の割合で、各ページはそれを共有するプロセスの数で割られます。また、PSanPSfdPSsh の合計でもあります。

たとえば、プロセスが 1000 ページを占有し、1000 ページを別のプロセスと共有している場合、その PSS は 1500(ページサイズを乗じた値)になります。

smaps の値にアクセスするには、他のメモリ統計にアクセスするよりも 10 倍多くのコストがかかり、他のユーザーのデータにアクセスするには root 権限が必要です。

PSan -- プロポーショナル・アノニマス・メモリ、smaps (KiB)
PSfd -- プロポーショナル・ファイル・メモリ、smaps (KiB)
PSsh -- プロポーショナル・Shmem メモリ、smaps (KiB)

上記の PSS (合計プロポーショナル・レジデント・メモリ) と同様に、これらのフィールドは、各タイプのメモリにおけるこのタスクの割合を、それを共有するプロセスの数で割った値を示します。

smaps の値にアクセスするには、他のメモリ統計にアクセスするよりも 10 倍多くのコストがかかり、他のユーザーのデータにアクセスするには root 権限が必要です。

RES -- レジデント・メモリ・サイズ (KiB)

タスクが現在使用している、スワップされていない物理メモリを表す、仮想アドレス空間 (VIRT) のサブセットです。また、RSanRSfdRSsh の合計でもあります。

これには、プライベートな匿名ページ、プログラムイメージと共有ライブラリにマップされたプライベートページ、および共有された匿名ページが含まれます。これらのメモリはすべて、別個の SWAP の下に示されるスワップファイルによってバックアップされます。

最後に、このフィールドには、変更された場合に専用のスワップファイルとして機能し、したがって SWAP に影響を与えない共有ファイルベースのページも含まれる場合があります。

「概要、Linux メモリタイプ」で詳細を確認してください。

RSS -- レジデント・メモリ、smaps (KiB)

タスクの非スワップ物理メモリをより正確に表現したものです。これは smaps_rollup ファイルから取得され、通常は RES に表示される値よりもわずかに大きくなります。

smaps の値にアクセスするには、他のメモリ統計にアクセスするよりも 10 倍多くのコストがかかり、他のユーザーのデータにアクセスするには root 権限が必要です。

RSan -- レジデント・アノニマス・メモリ・サイズ (KiB)

レジデント・メモリ (RES) のサブセットで、ファイルにマップされていないプライベートページを表します。

RSfd -- レジデント・ファイルベース・メモリ・サイズ (KiB)

レジデント・メモリ (RES) のサブセットで、プログラムイメージと共有ライブラリをサポートする暗黙的に共有されるページを表します。また、明示的なファイルマッピング (プライベートおよび共有) も含まれます。

RSlk -- レジデント・ロックメモリ・サイズ (KiB)

レジデント・メモリ (RES) のサブセットで、スワップアウトできないページを表します。

RSsh -- レジデント・共有メモリ・サイズ (KiB)

レジデント・メモリ (RES) のサブセットで、明示的に共有される匿名 shm*/mmap ページを表します。

RUID -- リアルユーザー ID

実際のユーザー ID。


RUSER -- 実際のユーザー名
実際のユーザー名。

S -- プロセスの状態
タスクの状態。次のいずれかになります。
    D = 中断不可能なスリープ
    I = アイドル
    R = 実行中
    S = スリープ
    T = ジョブ制御シグナルによって停止
    t = デバッガーによってトレース中に停止
    Z = ゾンビ

実行中として表示されるタスクは、より適切には、実行可能な状態にあると考えるべきです。
そのタスクの `task_struct` は、Linux の実行キューに単純に登録されています。
真の SMP マシンでなくても、top の遅延間隔と優先度に応じて、多数のタスクがこの状態で表示されることがあります。

SHR -- 共有メモリサイズ (KiB)
他のプロセスによっても使用できる、RES (常駐メモリ) のサブセット。
共有匿名ページと共有ファイルベースのページが含まれます。
プログラムイメージと共有ライブラリをマッピングするプライベートページも含まれます。

「概要、Linux メモリタイプ」を参照してください。

SID -- セッション ID
セッションは、通常ログインシェルによって確立されるプロセスグループのコレクションです。
新たにフォークされたプロセスは、作成者のセッションに参加します。
慣例として、この値はセッションの最初のメンバー(セッションリーダーと呼ばれる)のプロセス ID (PID) と等しく、通常はログインシェルです。

STARTED -- 開始時刻間隔
システム起動からのプロセスの開始からの経過時間。
したがって、最も最近開始されたタスクは、最も長い時間間隔を表示します。

値は `MM:SS` (分:秒) として表示されます。
ただし、間隔がカラム幅に収まらないほど大きい場合、`HH,MM` (時間、分) としてスケールされ、さらに大きくなる可能性があります。

SUID -- 保存されたユーザー ID
保存されたユーザー ID。

SUPGIDS -- 追加グループ ID
ログイン時に確立されるか、タスクの親から継承される追加グループの ID。
カンマ区切りのリストで表示されます。

注: SUPGIDS フィールドは、ほとんどのカラムとは異なり、固定幅ではありません。
表示される場合、これに加えて他の可変幅のすべてのカラムが、残りの画面幅全体(最大 512 文字)に割り当てられます。

SUPGRPS -- 追加グループ名
ログイン時に確立されるか、タスクの親から継承される追加グループの名前。
カンマ区切りのリストで表示されます。

注: SUPGRPS フィールドは、ほとんどのカラムとは異なり、固定幅ではありません。
表示される場合、これに加えて他の可変幅のすべてのカラムが、残りの画面幅全体(最大 512 文字)に割り当てられます。

SUSER -- 保存されたユーザー名
保存されたユーザー名。

SWAP -- スワップされたサイズ (KiB)
タスクのアドレススペースの以前は常駐していた部分で、物理メモリが過剰にコミットされたときにスワップファイルに書き込まれたもの。

「概要、Linux メモリタイプ」を参照してください。

TGID -- スレッドグループ ID
タスクが属するスレッドグループの ID。
これは、スレッドグループリーダーの PID です。
カーネルの用語では、これは `mm_struct` を共有するタスクを表します。

TIME -- CPU 時間
タスクが開始されてから使用した合計 CPU 時間。
累積モードがオンの場合、各プロセスは、それ自体とその終了した子プロセスが使用した CPU 時間でリストされます。
累積モードは、コマンドラインオプションとインタラクティブコマンドの両方として `S` で切り替えます。
`S` インタラクティブコマンドで、このモードに関する追加情報をご覧ください。

TIME+ -- CPU時間(100分の1秒単位)
TIMEと同じだが、100分の1秒というより細かい単位で表現している。

TPGID -- TTYプロセスグループID
接続されているTTYのフォアグラウンドプロセスのプロセスグループID。プロセスがターミナルに接続されていない場合は-1。慣例により、この値はプロセスID(PID)と等しく、プロセスグループリーダー(PGRP)のプロセスIDと等しい。

TTY -- 制御TTY
制御ターミナルの名前。通常は、プロセスが起動され、入出力に使用するデバイス(シリアルポート、ptyなど)である。ただし、タスクがターミナルに関連付けられていない場合があり、その場合は「?」と表示される。

UID -- ユーザーID
タスクの所有者の有効ユーザーID。

USED -- 使用メモリ(KiB)
このフィールドは、タスクが使用しているスワップされていない物理メモリ(RES)と、アドレス空間のスワップアウトされた部分(SWAP)を表す。

詳細は、「OVERVIEW、Linuxメモリタイプ」を参照。

USER -- ユーザー名
タスクの所有者の有効ユーザー名。

USS -- ユニークセットサイズ
スワップされていない物理メモリ(「RSS」)のうち、他のプロセスと共有されていない部分。これは、`smaps_rollup`ファイルから派生する。

smapsの値へのアクセスは、他のメモリ統計データへのアクセスよりも10倍コストがかかり、他のユーザーのデータにはroot権限が必要になる。

VIRT -- 仮想メモリサイズ(KiB)
タスクが使用する合計仮想メモリ量。これには、すべてのコード、データ、共有ライブラリ、スワップアウトされたページ、およびマップされたが使用されていないページが含まれる。

詳細は、「OVERVIEW、Linuxメモリタイプ」を参照。

WCHAN -- スリープ中の関数
このフィールドには、タスクが現在スリープしているカーネル関数の名前が表示される。実行中のタスクは、この列にダッシュ(「-」)を表示する。

ioR -- 読み取りI/Oバイト数
プロセスによってストレージレイヤーからフェッチされるように引き起こされたバイト数。

他のユーザーの「io」データの表示にはroot権限が必要。

ioRop -- 読み取りI/O操作数
プロセスの読み取りI/O操作(システムコール)の数。これらの呼び出しは、必ずしも実際の物理ディスクI/Oをもたらすとは限らない。

ioW -- 書き込みI/Oバイト数
プロセスによってストレージレイヤーに送信されるように引き起こされたバイト数。

ioWop -- 書き込みI/O操作数
プロセスの書き込みI/O操作(システムコール)の数。これらの呼び出しは、必ずしも実際の物理ディスクI/Oをもたらすとは限らない。

nDRT -- ダーティページ数
補助ストレージに最後に書き込まれてから変更されたページの数。ダーティページは、対応する物理メモリの場所を他の仮想ページに使用する前に、補助ストレージに書き込む必要がある。

このフィールドは、Linux 2.6で非推奨となり、常にゼロである。

nMaj -- メジャー・ページフォルト数

タスクで発生したメジャー・ページフォルトの数。ページフォルトとは、プロセスが現在アドレス空間に存在しない仮想ページから読み取りまたは書き込みを試みる場合に発生すること。メジャー・ページフォルトとは、そのページを可用にするために補助記憶装置へのアクセスが伴う場合。

nMin -- マイナー・ページフォルト数

タスクで発生したマイナー・ページフォルトの数。ページフォルトとは、プロセスが現在アドレス空間に存在しない仮想ページから読み取りまたは書き込みを試みる場合に発生すること。マイナー・ページフォルトとは、そのページを可用にするために補助記憶装置へのアクセスが伴わない場合。

nTH -- スレッド数

プロセスに関連付けられたスレッドの数。

nsCGROUP -- CGROUP 名前空間

プロセスが属するコントロールグループの識別を隠すために使用される名前空間の inode。

nsIPC -- IPC 名前空間

System V IPC オブジェクトや POSIX メッセージキューなどのプロセス間通信 (IPC) リソースを分離するために使用される名前空間の inode。

nsMNT -- MNT 名前空間

ファイルシステムのマウントポイントを分離することにより、ファイルシステム階層の異なるビューを提供する名前空間の inode。

nsNET -- NET 名前空間

ネットワークデバイス、IP アドレス、IP ルーティング、ポート番号などのリソースを分離するために使用される名前空間の inode。

nsPID -- PID 名前空間

プロセス ID を分離するために使用される名前空間の inode。これにより、プロセス ID が必ずしも一意である必要がなくなります。したがって、各名前空間は、さまざまな初期化タスクを管理し、孤立した子プロセスを処理するために独自の init/systemd (PID #1) を持つことができます。

nsTIME -- TIME 名前空間

プロセスがシステム時間を異なって表示できるようにする名前空間の inode。UTS 名前空間と同様の機能を提供します。

nsUSER -- USER 名前空間

ユーザーとグループ ID を分離するために使用される名前空間の inode。これにより、プロセスは外部で通常の特権のないユーザー ID を持ちながら、ユーザー名前空間内では UID 0 で完全な root 権限を持つことができます。

nsUTS -- UTS 名前空間

ホスト名と NIS ドメイン名を分離するために使用される名前空間の inode。UTS は「UNIX Time-sharing System」を意味します。

vMj -- メジャー・ページフォルト数デルタ

最後の更新以降に発生したメジャー・ページフォルトの数(nMaj を参照)。

vMn -- マイナー・ページフォルト数デルタ

最後の更新以降に発生したマイナー・ページフォルトの数(nMin を参照)。

MANAGING フィールド

「f」コマンド(フィールド管理)を押すと、次の画面が表示されます。1) 現在のウィンドウ名、2) 選択されたソートフィールド、3) 現在の順序で表示されているすべてのフィールドとその説明。アスタリスク (*) でマークされているエントリは、画面幅が許す限り表示されているフィールドです。

画面上の指示どおり、上下矢印キーを使用してフィールド間を移動します。PgUp、PgDn、Home、End キーを使用して、最初または最後のフィールドにすばやく移動することもできます。


右矢印キーは、再配置するフィールドを選択し、左矢印キーまたは <Enter> キーは、そのフィールドの配置を確定します。

^ ` キーまたは` バーは、フィールドの表示ステータスを切り替え、それによってアスタリスクの表示または非表示を切り替えます。

^ `` キーは、フィールドをソートフィールドとして指定します。詳細については、トピック 4c. TASK AREA コマンド、SORTING を参照してください。

^ ` およびwキーを使用して、利用可能なウィンドウをすべて順番に切り替えることができ、qまたは` キーを押すと、フィールド管理を終了します。

フィールド管理画面を使用して、フルスクリーンモードまたは代替表示モードで「現在の」ウィンドウ/フィールドグループを変更することもできます。q または <Esc> キーを押したときにターゲットにしていたものが、トップ表示に戻ったときに現在のものとして設定されます。トピック 5. ALTERNATE-DISPLAY プロビジョンと、g インタラクティブコマンドについては、現在のウィンドウとフィールドグループに関する情報をご覧ください。

注意:フィールド管理画面でフィールドを変更すると、水平方向にスクロールされたウィンドウはすべてリセットされます。ただし、垂直方向のスクロール位置は影響を受けません。詳細については、トピック 5c. ウィンドウのスクロールを参照してください。

インタラクティブコマンド 以下に、カテゴリごとのコマンドの簡単なインデックスを示します。一部のコマンドは複数回表示されます。コマンドの意味または範囲は、発行されるコンテキストによって異なる場合があります。

グローバルコマンド ^ Ent/Sp> ?, =, 0, ^ , B, d, E, e, g, H, h, I, k, q, r, s, W, X, Y, Z, ^ G, ^K, ^N, ^P, ^U, ^L, ^R サマリーエリアコマンド ^ , l, t, m, 1, 2, 3, 4, 5, ! タスクエリアコマンド 外観:b, J, j, x, y, z 内容:c, F, f, O, o, S, U, u, V, v, ^E サイズ:#, i, n ソート:<, >, f, R カラーマッピング ^ Ret>, a, B, b, H, M, q, S, T, w, z, 0 - 7 ウィンドウ用コマンド ^ , _, =, +, A, a, G, g, w ウィンドウのスクロール ^ , Up, Dn, Left, Right, PgUp, PgDn, Home, End ウィンドウ内検索 ^ , & ウィンドウ内フィルタリング ^ , o, ^O, =, +

グローバルコマンド グローバルインタラクティブコマンドは、フルスクリーンモードと代替表示モードの両方で常に使用できます。ただし、これらのインタラクティブコマンドの一部は、セキュアモードで実行されている場合は使用できません。

トップがセキュアになっているかどうかを事前に知りたい場合は、ヘルプを要求して、2行目に表示されるシステム概要を確認してください。

^ Enter> または <Space>:ディスプレイのリフレッシュ これらのコマンドは、トップをアクティブにし、入力があった後、ディスプレイ全体が再描画されます。また、ホットプラグされた CPU または物理メモリの変更も更新します。

遅延間隔が大きく、現在のステータスを確認したい場合は、これらのキーのいずれかを使用してください。

^ | h:ヘルプ 2つのヘルプレベルがあります。1つ目は、基本的なインタラクティブコマンドのすべてを思い出させるものです。トップがセキュアになっている場合、その画面は省略されます。


ヘルプ画面で h または ? と入力すると、代替表示モードで利用可能なインタラクティブコマンドのヘルプが表示されます。

= :Exit-Display-Limits

表示制限を解除します。このコマンドは、アクティブになっている可能性のある i (アイドルタスク)、n (最大タスク数)、v (子プロセスを非表示)、および F (フォーカス) コマンドをすべて元に戻します。また、PID監視、ユーザーフィルタリング、その他のフィルタリング、位置特定処理、および CPU 結合モードからも終了できます。

さらに、ウィンドウがスクロールされている場合は、このコマンドでリセットされます。

0 :Zero-Suppress toggle

このコマンドは、タスクウィンドウの多くのフィールドでゼロを表示するか非表示にするかを決定します。UID、GID、NI、PR、または P のフィールドは、このトグルで影響を受けません。

A :Alternate-Display-Mode toggle

このコマンドは、フルスクリーンモードと代替表示モードを切り替えます。トピック「代替表示プロビジョン」とインタラクティブコマンド g を参照して、「現在の」ウィンドウとフィールドグループの詳細を確認してください。

B :Bold-Disable/Enable toggle

このコマンドは、太字のターミナル機能の使用に影響を与え、現在のウィンドウのサマリー領域とタスク領域の両を変更します。主に単純なターミナルで使用することを目的としていますが、いつでも適用できます。

注:このトグルがオンで、top がモノクロモードで動作している場合、画面全体が通常のテキストとして表示されます。したがって、`x` または `y` トグルが強調表示にリバースを使用している場合を除き、それらがオンになっていることを視覚的に確認することはできません。

* d | s :Change-Delay-Time-interval

表示更新の間隔(秒単位)を入力するように求められます。

小数秒は許可されますが、負の数は許可されません。0 を入力すると、(ほぼ)連続的に更新が行われ、システムと tty ドライバーが top の要求に対応しようとするため、表示が不十分になります。遅延値はシステム負荷に反比例するため、注意して設定してください。

現在の遅延時間を知りたい場合は、ヘルプを求め、2 行目でシステムサマリーを表示するだけです。

E :Enforce-Summary-Memory-Scale in Summary Area

このコマンドを使用すると、サマリー領域で利用可能なメモリスケーリングをサイクルできます。スケーリングの範囲は、KiB (キビバイトまたは 1,024 バイト) から EiB (エクサバイトまたは 1152,921,504,606,846,976 バイト) までです。

表示された数値の後に + が付いている場合、top がその数値の一部を切り捨てざるを得なかったことを意味します。スケーリング係数を大きくすると、そのような切り捨てを回避できます。

e :Enforce-Task-Memory-Scale in Task Area

このコマンドを使用すると、タスク領域で利用可能なメモリスケーリングをサイクルできます。スケーリングの範囲は、KiB (キビバイトまたは 1,024 バイト) から PiB (ペビバイトまたは 1,125,899,906,842,624 バイト) までです。

top は、選択したターゲット範囲を尊重しようとしますが、現在の値に合わせて追加のスケーリングが必要になる場合があります。メモリ列でより均一な結果を表示したい場合は、スケーリング範囲を大きくすると、通常はその目標を達成できます。ただし、スケーリングを大きくしすぎると、すべてゼロで表示される可能性があり、0 インタラクティブコマンドで非表示にすることはできません。


g : 別のウィンドウ/フィールドグループを選択
どのフィールドグループを「現在の」ウィンドウにするかを、1~4の数字で指定するように求められます。これらの4つのウィンドウに慣れるのは、代替表示モードを試した後になります。

H : スレッドモードの切り替え
この切り替えがオンの場合、すべての表示されているタスクウィンドウで、個々のスレッドが表示されます。そうでない場合、top は各プロセス内のすべてのスレッドの合計を表示します。

I : Irix/Solaris モードの切り替え
Solaris モード(「I」をオフにすると)で動作する場合、タスクの CPU 使用率は、CPU の総数で除算されます。このコマンドを発行すると、この切り替えの新しい状態が通知されます。

* k : タスクを強制終了
PID と送信するシグナルを求められます。

PID を入力しないか、負の数を入力すると、プロンプトに表示されるデフォルト(最初に表示されるタスク)として解釈されます。PID の値がゼロの場合、top プログラム自体を指します。

デフォルトのシグナルは、プロンプトに表示される SIGTERM です。ただし、番号または名前を使用して、任意のシグナルを送信できます。

強制終了プロセスを中止する場合は、進捗状況に応じて次のいずれかの方法で行います。
1. PID プロンプトで、無効な番号を入力します。
2. シグナルプロンプトで、0(または無効なシグナル)を入力します。
3. 任意のプロンプトで、<Esc> を入力します。

q : 終了

* r : タスクの優先度を変更
PID と優先度を変更する値を求められます。

PID を入力しないか、負の数を入力すると、プロンプトに表示されるデフォルト(最初に表示されるタスク)として解釈されます。PID の値がゼロの場合、top プログラム自体を指します。

正の優先度値は、プロセスの優先度を下げる原因となります。逆に、負の優先度値は、プロセスがカーネルによってより有利に扱われる原因となります。一般に、通常のユーザーは優先度値を増やすことができ、優先度を下げることはできません。

優先度変更プロセスを中止する場合は、進捗状況に応じて次のいずれかの方法で行います。
1. PID プロンプトで、無効な番号を入力します。
2. 優先度プロンプトで、何も入力せずに <Enter> キーを押します。
3. 任意のプロンプトで、<Esc> を入力します。

W : 構成ファイルを書き込む
これにより、すべてのオプションと切り替え、および現在の表示モードと遅延時間が保存されます。top を終了する直前にこのコマンドを発行すると、後で同じ状態で再起動できます。

X : 追加の固定幅
いくつかのフィールドは固定幅であり、サイズ変更できません。そのため、末尾に「+」が表示されるように切り捨てられることがあります。

このインタラクティブなコマンドを使用して、次のフィールドの幅を変更できます。

フィールド デフォルト フィールド デフォルト フィールド デフォルト
GID 5 GID 8 WCHAN 10
LOGID 5 LXC 8 nsCGROUP 10
RUID 5 RUSER 8 nsIPC 10
SUID 5 SUSER 8 nsMNT 10
UID 5 TTY 8 nsNET 10
USER 8 nsPID 10
nsTIME 10
nsUSER 10
nsUTS 10

上記に表示されているデフォルトの幅に加算する量を求められます。 ゼロを入力すると、デフォルトに戻ります。

負の数を入力すると、topは自動的にカラムサイズを必要に応じて拡大します。 データが切り捨てられないまで拡大します。

注:明示的または自動的に拡大された場合でも、これらのフィールドの幅はtopによって縮小されません。
幅を狭くするには、より小さい数を指定するか、デフォルトを復元する必要があります。

Y : Inspect-Other-Output

`Y'インタラクティブコマンドを実行すると、ターゲットのPIDが求められます。 値を入力するか、デフォルトを受け入れると、別の画面が表示されます。 その画面を使用して、さまざまなファイルやパイプ処理されたコマンドの出力を表示したり、通常のtopの反復表示を一時停止したりできます。

注:このインタラクティブコマンドは、top構成ファイルに手動でエントリが追加された場合にのみ、完全に機能します。
これらのエントリを作成する方法の詳細については、トピック6b. INSPECTエントリの追加を参照してください。

Inspect機能のほとんどのキーは、そのヘッダーのプロローグに反映されています。 ただし、特定のファイルまたはコマンドを選択すると、追加のキーが利用できるようになります。 これらは、ページャーlessを使用したことがある人にとっては使い慣れたものであり、ここでは将来の参照のためにまとめておきます。

キー  機能
=  ステータス行、ファイル、またはパイプラインを切り替える
/  検索、\`L' locateと同じ
n  次を検索、\`&' locate nextと同じ
<Space>  下にスクロール、<PgDn>と同じ
b  上にスクロール、<PgUp>と同じ
g  最初の行、<Home>と同じ
G  最後の行、<End>と同じ

Z : Change-Color-Mapping
このキーを押すと、別の画面に移動し、\`現在の'ウィンドウまたはすべてのウィンドウのカラーを変更できます。
このインタラクティブコマンドの詳細については、トピック4d. COLORマッピングを参照してください。

^G : Display-Control-Groups  (Ctrlキー + `g')
^K : Display-Cmdline  (Ctrlキー + `k')
^N : Display-Environment  (Ctrlキー + `n')
^P : Display-Namesspaces  (Ctrlキー + `p')
^U : Display-Supplementary-Groups  (Ctrlキー + `u')
これらのコマンドは、最初に表示されたプロセスに適用され、そのタスクの完全な(場合によっては折り返された)情報が表示されます。
このようなデータは、画面の下部に別のウィンドウで表示され、通常のtopモニタリングは継続されます。

同じ\`Ctrl'コマンドを2回押すと、別のウィンドウが削除されます。また、\`='コマンドでも削除できます。
1つの\`Ctrl'コマンドがすでにアクティブになっている状態で、別の\`Ctrl'キーの組み合わせを押すと、新しい情報にすぐに切り替わります。

これらの機能の中で特に注目すべきは、Ctrl+N(環境)コマンドです。
その出力は広範囲にわたる可能性があり、行が折り返されると読みやすくなりません。
rcファイルに次のようなInspectエントリを作成すると、より読みやすいバージョンが得られます。

pipe ^I 環境 ^I cat /proc/%d/environ | tr '\0' '\n'

上記の `Y' インタラクティブコマンドとトピック 6b を参照してください。追加の情報を得るには、`Inspect' エントリを追加してください。

`Inspect' の代替として、これらの `Ctrl' コマンドすべてで使用できるのは、タブキーを使用して、下部のウィンドウで個々の要素を強調表示することです。

^L : ログメッセージ (Ctrl キー + `l')

最近の 10 件のメッセージが、画面下部の別のウィンドウに表示され、通常のトップ監視が継続されます。`^L' をもう一度押すと、そのウィンドウが削除されます。= コマンドでも削除できます。タブキーを使用して、個々のメッセージを強調表示します。

* ^R : オートグループの優先度を変更 (Ctrl キー + `r')

PID と、その PID のオートグループ AGNI の値の入力を求められます。

PID を入力しない場合、プロンプトに表示されるデフォルト値 (表示されている最初のタスク) として解釈されます。

正の AGNI 値は、そのオートグループ内のプロセスが優先度を低下させるようにします。逆に、負の値は、それらがカーネルによってより好意的に扱われるようにします。通常のユーザーは、負の AGNI 値を設定することはできません。

優先度の変更プロセスを中止する場合は、 を入力します。

* アスタリスク (\`*\') の付いたコマンドは、セキュアモードでは使用できず、レベル 1 のヘルプ画面にも表示されません。

サマリーエリアコマンド サマリーエリアのインタラクティブコマンドは、フルスクリーンモードと代替表示モードの両方で常に使用できます。これらは、表示の先頭行に影響し、メッセージとプロンプトの位置を決定します。

これらのコマンドは常に、`現在の' ウィンドウ/フィールドグループにのみ影響します。トピック 5. 代替表示機能と `g' インタラクティブコマンドを参照して、`現在の' ウィンドウとフィールドグループに関する洞察を得てください。

C : スクロール座標表示の切り替え

メッセージ行がそれ以外の場合に使用されていないときに表示される情報メッセージを切り替えます。詳細については、トピック 5c. ウィンドウのスクロールを参照してください。

l : 負荷平均/稼働時間の切り替え

これは、フルスクリーンモードで実行されている場合にプログラム名 (またはエイリアス) を含む行であり、代替表示モードで実行されている場合は、`現在の' ウィンドウ名です。

t : タスク/CPU 状態の切り替え

このコマンドは、`1', `2'、または `3' コマンドの切り替え状態と、トップが真の SMP で実行されているかどうかによって、2 ~ 多数のサマリーエリア行に影響します。

このサマリーエリアの一部は、`H' インタラクティブコマンドの切り替えによっても影響を受け、その結果、合計ラベルにはタスクまたはスレッドのいずれかが表示されます。

このコマンドは 4 段階の切り替えとして機能し、次のモードを循環します。 カテゴリ別の詳細なパーセンテージ 省略されたユーザー/システムおよび合計 % + 棒グラフ 省略されたユーザー/システムおよび合計 % + ブロックグラフ タスクと CPU 状態の表示をオフにする


グラフィックモードで動作する場合、個々の CPU または NUMA ノードも表示すると、表示がより意味のあるものになります。詳細については、以下に示す「1」、「2」、および「3」のコマンドを参照してください。

m : メモリ/スワップ使用量の切り替え

このコマンドは、物理メモリと仮想メモリに関する 2 つの概要領域の行に影響します。

このコマンドは、4 段階の切り替えとして機能し、次のモードを循環します。 メモリの種類ごとの詳細なパーセンテージ 使用済み/合計のパーセンテージ(省略形)+ 棒グラフ 使用済み/合計のパーセンテージ(省略形)+ ブロックグラフ メモリ表示のオフ

1 : 単一/個別の CPU 状態の切り替え

このコマンドは、t コマンドの CPU 状態セクションの表示方法に影響します。この切り替えは主に、大規模並列 SMP マシンで使用することを目的としていますが、SMP 環境に限定されるものではありません。

概要領域に「%Cpu(s):」と表示されている場合、1 の切り替えはオンになっており、すべての CPU 情報は 1 行にまとめられています。そうでない場合、各 CPU は、%Cpu0、%Cpu1、... のように、利用可能な画面の高さまで個別に表示されます。

2 : NUMA ノード/CPU の概要の切り替え

このコマンドは、1 コマンドの CPU 概要表示のみ、または概要表示に加えて各 NUMA ノードの CPU 使用率統計の表示を切り替えます。これは、システムに NUMA サポートが搭載されている場合にのみ利用できます。

3 : NUMA ノードの拡張

NUMA ノードを表す番号を入力するように求められます。その後、ノードの概要と、そのノード内の各 CPU の統計情報が表示され、12、または 4 コマンドで切り替えるまで表示が継続されます。このインタラクティブなコマンドは、システムに NUMA サポートが搭載されている場合にのみ利用できます。

4 : 複数の要素を隣接して表示する切り替え

このコマンドの切り替えにより、1 の切り替えがオフになり、CPU とメモリの結果が各行に複数表示されます。各 4 キーを押すと、さらに CPU が追加され、最終的に CPU とメモリの結果を別々の行に表示するように戻ります。

この方法で 1 行に表示できる CPU の最大数は 8 です。ただし、最大数に達する前にデータが切り捨てられる場合があります。これは、`t` コマンドの切り替えで詳細な統計を表示する場合に特に当てはまり、そのようなデータはグラフィカルな表現のようにスケーリングできないためです。

隣接モードを途中ですばやく終了するには、1 コマンドの切り替えを使用します。

5 : P コアと E コアの表示の切り替え

このコマンドの切り替えは、t の切り替えがオンで、123、および ! の切り替えがオフの場合にのみアクティブになります。これにより、個々の CPU の結果が表示されます。これは、プラットフォームに 2 つの異なる種類の複数のコア (マルチスレッドの P コアまたはシングルスレッドの E コア) があることを前提としています。

通常、各 CPU は %Cpu0、%Cpu1、... として表示されますが、この切り替えを使用して、コアの種類 (パフォーマンス用の P コアまたは効率用の E コア) でそれらの CPU を識別またはフィルタリングできます。

^ ` を最初に押すと、各 CPU は%CpPまたは%CpEとして表示され、2 つのコアの種類を表します。2 回目に押すと、P コア (%CpP) のみが表示されます。3 回目に押すと、E コア (%CpE) のみが表示されます。このコマンドの切り替えを 4 回目に押すと、CPU の表示は通常の%Cpu` 形式に戻ります。


個別のパフォーマンスと効率のカテゴリが存在しない場合、このコマンドトグルは 効果がありません。

! :Combine-Cpus-Mode トグル

このコマンドトグルは、大規模な並列 SMP 環境で使用することを目的としています。4' コマンドトグルを使用しても、すべてのプロセッサを表示できない場合でも使用できます。!' を押すたびに、 結合される CPU の数が 2 倍になり、表示される CPU 行の合計数が減少します。

たとえば、最初に !' を押すと、2 つの CPU が結合され、0-1、2-3、...' のように表示されます。 通常の %Cpu0、%Cpu1、%Cpu2、%Cpu3、...' ではありません。2 回目の!' コマンドトグルでは、4 つの CPU が結合され、0-3、4-7、...' のように表示されます。次に、3 回目の!' を押すと、8 つの CPU が結合され、`0-7、8-15、...' のように表示されます。

このような進行は、個々の CPU が再び表示されるまで続き、1' および4' トグル (1 つまたは複数の列) の両方に影響を与えます。`=' コマンドを使用して、Combine Cpus モードを終了します。

注: 概要領域全体が、任意のウィンドウに対してオフに切り替えられた場合、メッセージ行のみが表示されます。そのようにすると、利用可能なタスク行を最大化できますが、(一時的に)フルスクリーンモードではプログラム名全体、または代替表示モードでは「現在の」ウィンドウ名がなくなります。

タスク領域コマンド タスク領域のインタラクティブコマンドは、常にフルスクリーンモードで使用できます。

タスク領域のインタラクティブコマンドは、「現在の」ウィンドウのタスク表示がオフになっている場合(セクション 5. ALTERNATE-DISPLAY プロビジョンを参照)、代替表示モードでは使用できません。

タスクウィンドウの表示

J :Justify-Numeric-Columns トグル

数値データの右揃え(デフォルト)と左揃えを切り替えます。数値データが利用可能な列全体を埋めている場合、このコマンドトグルは列ヘッダーに影響を与える可能性があります。

j :Justify-Character-Columns トグル

文字データの左揃え(デフォルト)と右揃えを切り替えます。文字データが利用可能な列全体を埋めている場合、このコマンドトグルは列ヘッダーに影響を与える可能性があります。

次のコマンドは、グローバルな `B' (太字有効) トグルの状態によっても影響を受けます。

b :Bold/Reverse トグル

このコマンドは、x' およびy' トグルの表示方法に影響を与えます。また、CPU 状態またはメモリ使用量に対してバーグラフが t' またはm' トグルで選択された場合に、概要領域にも影響を与える可能性があります。

x :Column-Highlight トグル

現在のソートフィールドのハイライトを変更します。ソートされているフィールドを忘れてしまった場合は、このコマンドを使用すると、ソートフィールドが表示されている場合に、視覚的なリマインダーとして役立ちます。ソートフィールドが表示されていないのは、次の理由が考えられます。 1. 画面幅が不足している。 2. `f' インタラクティブコマンドでオフになっている。

y :Row-Highlight トグル

「実行中」のタスクのハイライトを変更します。このタスク状態の詳細については、セクション 3a. フィールドの説明と `S' フィールド(プロセスステータス)を参照してください。


この機能を使用すると、システムの健全性に関する重要な洞察が得られます。コストは、いくつかの追加の tty エスケープシーケンスのみです。

z : カラー/モノクロトグル
現在のウィンドウを、最後に使用したカラースキームと、古い白黒または黒地に白の形式の間で切り替えます。このコマンドは、概要領域とタスク領域の両を変更しますが、`x`、`y`、または `b` トグルの状態には影響しません。

タスクウィンドウの内容

c : コマンドライン/プログラム名のトグル
このコマンドは、コマンド列が現在表示されているかどうかに関係なく実行されます。後でそのフィールドが表示されるようになると、適用した変更が表示されます。

F : 親のフォーカス維持トグル
フォレストビューモードの場合、このキーは、おそらく分岐した子を持つターゲットタスクのフォーカスを維持するためのトグルとして機能します。フォレストビューモードがオフの場合、このキーは効果がありません。

トグルは、`現在の`ウィンドウの最初の(一番上の)プロセスに適用されます。設定されると、そのタスクは常に最初の(一番上の)プロセスとして、その分岐した子とともに表示されます。他のすべてのプロセスは非表示になります。

注:`i`(アイドルタスク)、`n`(最大タスク数)、`v`(子を非表示)、およびユーザー/その他のフィルターなどのキーは引き続き使用でき、表示に影響を与える可能性があります。

f : フィールド管理
このキーを押すと、表示するフィールド、その順序、およびソートフィールドを指定できる別の画面が表示されます。このインタラクティブなコマンドの詳細については、3b. フィールドの管理を参照してください。

O | o : その他のフィルター
表示するタスクを決定する選択基準を求められます。基準では大文字と小文字を区別するかどうか、およびトップに一致するタスクを含めるか除外するかを指定できます。

5e. ウィンドウでのフィルター処理を参照して、これらの追加の関連するインタラクティブなコマンドの詳細を確認してください。

S : 累積時間モードトグル
累積モードがオンの場合、各プロセスは、自身と削除された子プロセスが使用した CPU 時間とともに一覧表示されます。

オフの場合、多数の個別のタスクに分岐するプログラムは、見かけ上、要求が少なくなります。`init`やシェルなどのプログラムでは適切ですが、コンパイラーなどでは、そうでない場合があります。同じソートフィールドを共有し、異なる `S` 状態を持つ 2 つのタスクウィンドウで試してみて、どちらの表現が好みかを確認してください。

このコマンドを発行すると、このトグルの新しい状態が通知されます。累積モードが有効かどうかを事前に知りたい場合は、ヘルプを求め、2 行目のウィンドウの概要を表示するだけです。

U | u : 特定のユーザーのみを表示
表示するユーザーの UID または名前を求められます。-u オプションは、有効ユーザーと一致し、-U オプションは、どのユーザー(実、有効、保存、またはファイルシステム)とも一致します。

その後、そのタスクウィンドウには、一致するユーザーのみが表示されるか、またはプロセスがまったく表示されない場合があります。ユーザーIDまたは名前に感嘆符 (`!`) を付けて、`top` に、指定されたユーザーと一致しないプロセスのみを表示するように指示します。

異なるタスクウィンドウを使用して、異なるユーザーをフィルター処理できます。後で、current ウィンドウで再びすべてのユーザーを監視する場合は、このコマンドを再実行して、プロンプトで Enter キーを押します。

V: Forest-View-Mode トグル

このモードでは、プロセスは親プロセスに従って再配置され、COMMAND 列のレイアウトはツリーに似ています。フォレストビューモードでは、プログラム名とコマンドライン (インタラクティブコマンド c を参照) またはプロセスとスレッド (インタラクティブコマンド H を参照) を切り替えることもできます。

注: 任意のキーを押してソート順を変更すると、current ウィンドウでフォレストビューモードが終了します。4c. TASK AREA コマンド、ソートに関する情報を参照してください。

v: Hide/Show-Children トグル

フォレストビューモードの場合、このキーは親プロセスの子プロセスを折りたたむか展開するためのトグルとして機能します。

このトグルは、current ウィンドウの最初の (一番上の) プロセスに適用されます。5c. ウィンドウのスクロールに関する追加情報を参照してください。

ターゲットプロセスが子プロセスをフォークしていない場合、このキーは効果がありません。また、フォレストビューモードではない場合も効果がありません。

^E: Scale-CPU-Time-fields (Ctrl キー + `e`)

^ ime フィールドは通常、その幅で可能な限り高い精度で表示されます。このトグルは、その精度を減らし、折り返しになるまで表示します。また、これらのフィールドが自動的にどのようにスケーリングされるかを示し、通常はシステムの実行時間によって異なります。

たとえば、MMM:SS.hh が表示されている場合、^E キーを押すたびに、MM:SSHours,MMDays+Hours、最後に Weeks+Days に変わります。

すべての時間フィールドが、このようなスケーリングの完全な範囲の対象となるわけではありません。

タスクウィンドウのサイズ

i: Idle-Process トグル

すべてのタスクまたはアクティブなタスクのみを表示します。このトグルがオフの場合、最後の更新以降に CPU を使用していないタスクは表示されません。ただし、%CPU と TIME+ フィールドの粒度により、CPU を使用していないように見えるプロセスでも表示される場合があります。

このコマンドが、代替表示モードで最後のタスク表示に適用された場合、以前のすべてのタスク表示がすでに描画されているため、ウィンドウのサイズには影響しません。

n | #: Set-Maximum-Tasks

表示するタスクの数を入力するように求められます。入力された数と、利用可能な画面行数のうち、少ない方の数が使用されます。

代替表示モードで使用すると、これは、最後のウィンドウを除いて、現在表示されている各タスク表示のサイズを正確に制御できるコマンドです。最後のウィンドウのサイズには影響しません。これは、以前のすべてのタスク表示がすでに描画されているためです。


注:代替表示モードで、最後に表示されるタスクのサイズを大きくしたい場合は、その上のタスク表示のサイズを小さくします。

タスクウィンドウのソート

互換性のために、この上部は以前の上部ソートキーのほとんどをサポートします。これは主に以前の上部ユーザーへのサービスであるため、これらのコマンドはいかなるヘルプ画面にも表示されません。 コマンド ソート対象フィールド サポート対象 A 開始時間(表示されない) いいえ M %MEM はい N PID はい P %CPU はい T TIME+ はい

次のソート機能を使用する前に、xインタラクティブコマンドを使用して、一時的に列のハイライト表示をオンにすることをお勧めします。これにより、実際のソート環境が意図と一致していることを確認できます。

次のインタラクティブコマンドは、現在のソートフィールドが表示されている場合にのみ有効になります。ソートフィールドが表示されないのは、次の理由が考えられます。 1 画面幅が不足している 2 fインタラクティブコマンドでオフになっている

< :ソートフィールドを左に移動 現在のソートフィールドが最初に表示されているフィールドでない場合、ソート列を左に移動します。

:ソートフィールドを右に移動 現在のソートフィールドが最後に表示されているフィールドでない場合、ソート列を右に移動します。

次のインタラクティブコマンドは、現在のソートフィールドが表示されているかどうかにかかわらず、常に有効です。

f   :フィールド管理

このキーを押すと、別の画面が表示され、そこでソート列として使用するフィールドを変更するなど、さまざまな機能を使用できます。これは、列のハイライト表示がオフになっている状態で top を実行している場合に、現在のソートフィールドを簡単に確認するのに便利な方法です。

R   :ソートフィールドの昇順/降順切り替え

このインタラクティブコマンドを使用すると、大きい値から小さい値へのソートと、小さい値から大きい値へのソートを切り替えることができます。

カラーマッピング

^ ``インタラクティブコマンドを実行すると、別の画面が表示されます。その画面を使用して、現在のウィンドウまたは4つのウィンドウすべての色を変更してから、topディスプレイに戻ることができます。

次のインタラクティブコマンドが利用できます。 ターゲットを選択するための4つの大文字 色を選択するための8つの数字 通常の切り替えオプション B :太字の表示/非表示 b :実行中のタスクの「太字」/反転 z :カラー/モノクロ その他のコマンド a/w :適用して次のウィンドウ/前のウィンドウに移動 :適用して終了 q :現在の変更をすべて破棄して終了

^ `またはwを使用してターゲットウィンドウを切り替えた場合、離れたときに表示されていたカラースキームが適用されます。もちろん、いつでも任意のウィンドウに戻って、異なる色を再適用したり、z`切り替えを使用して色を完全にオフにしたりできます。

カラーマッピング画面を使用して、フルスクリーンモードまたは代替表示モードで「現在の」ウィンドウ/フィールドグループを変更することもできます。qまたはを押すと、ターゲットにしていたものがtopディスプレイに戻ったときに現在のものになります。


代替表示の規定
ウィンドウの概要

フィールドグループ/ウィンドウ: フルスクリーンモードでは、画面全体が単一のウィンドウとして表示されます。ただし、その単一のウィンドウは、4つの異なるフィールドグループのいずれかを表示するように変更できます(以下に示す「g」インタラクティブコマンドを参照)。4つのフィールドグループにはそれぞれ、独自に構成可能なサマリー領域と、構成可能なタスク領域があります。

代替表示モードでは、これらの4つの基となるフィールドグループを同時に表示するか、個別にオフにすることができます。

サマリー領域は、メッセージ行のみであっても常に存在します。特定の時点で表示できるサマリー領域は1つだけです。ただし、コマンドに応じて、画面に表示されるタスクディスプレイは0〜4つになります。

現在のウィンドウ: 「現在の」ウィンドウは、サマリー領域に関連付けられ、タスク関連のコマンドが常に適用されるウィンドウです。代替表示モードではタスク表示をオフにできるため、一部のコマンドは「現在の」ウィンドウに対して制限される場合があります。

さらに、最初のサマリー領域の行をオフにすると、ウィンドウ名(「l」で切り替える行)が表示されなくなるため、「現在の」ウィンドウがどれであるかを簡単に判断できなくなります。

ウィンドウのコマンド - | _ : ウィンドウの表示/非表示の切り替え 「-」キーは、「現在の」ウィンドウのタスク表示をオン/オフにします。オンにすると、タスク領域には、少なくとも「f」インタラクティブコマンドで設定した列ヘッダーが表示されます。また、適用したその他のタスク領域オプション/切り替えも反映され、0個以上のタスクが表示されます。

「_」キーは、すべてのタスク表示に対して同じ操作を行います。つまり、現在表示されているタスク表示と、オフにしていたタスク表示を切り替えます。現在、4つのタスク表示がすべて表示されている場合、このインタラクティブコマンドはサマリー領域のみを表示します。

* = | + : ウィンドウの均等化/リセット

「=」キーは、「現在の」ウィンドウのタスク表示を必ず表示させます。また、「i」(アイドルタスク)、「n」(最大タスク)、「u/U」(ユーザーフィルター)、「o/O」(その他のフィルター)、「v」(子を非表示)、「F」(フォーカス)、「L」(位置指定)、「!」(CPUの結合)コマンドをすべてリセットします。さらに、ウィンドウがスクロールされていた場合は、このコマンドでリセットされます。詳細については、セクション5c「ウィンドウのスクロール」を参照してください。

「+」キーは、すべてのウィンドウに対して同じ操作を行います。4つのタスク表示がすべて再表示され、均等にバランスが取られます。ただし、「=」コマンドの切り替えで指定した以外のカスタマイズは保持されます。

* A : 代替表示モードの切り替え

このコマンドは、フルスクリーンモードと代替表示モードを切り替えます。


このコマンドを最初に実行すると、4つのタスク表示がすべて表示されます。その後、 モードを切り替えるたびに、表示するように選択したタスク表示のみが表示されます。

* a | w : 次のウィンドウへ移動 (前方/後方)

これにより、コマンドの送信対象となる「現在の」ウィンドウが変更されます。これらのキーは円環状に動作するため、いずれかのキーを使用して、目的のウィンドウにアクセスできます。

ウィンドウ名が表示されている場合(「l」の表示をオフにしていない場合)、「現在の」ウィンドウの名前が強調表示/色が変更されたとき、それはタスク表示がオフであり、多くのコマンドが制限されるというリマインダーです。

G : ウィンドウ/フィールドグループ名の変更

新しい名前を入力するように求められ、その名前が「現在の」ウィンドウに適用されます。ウィンドウ名が表示されている必要はありません(「l」の表示がオンになっている必要はありません)。

* アスタリスク(*)が付いたインタラクティブコマンドは、代替表示モード以外にも使用できます。

=、A、g は常に使用できます。 a、w はカラーマッピングでも同じように動作します。 また、フィールド管理にも使用できます。

* g : 別のウィンドウ/フィールドグループの選択

1〜4の番号を入力して、どのフィールドグループを「現在の」ウィンドウにするかを指定するように求められます。

フルスクリーンモードでは、このコマンドは「現在の」ウィンドウを変更するために必要です。代替表示モードでは、単に「a」および「w」コマンドよりも使いにくい代替手段です。

ウィンドウのスクロール 通常、タスクウィンドウは、システム全体のタスク/スレッドの一部のビューであり、利用可能なフィールド/列の一部のみが表示されます。これらのスクロールキーを使用すると、そのビューを垂直方向または水平方向に移動して、目的のタスクまたは列を表示できます。

上、PgUp : タスクのスクロール

ビューを最初のタスク行に向かって上に移動し、最初のタスクが「現在の」ウィンドウの上部に表示されるようにします。上矢印キーは1行ずつ移動し、PgUpはウィンドウ全体をスクロールします。

下、PgDn : タスクのスクロール

ビューを最後のタスク行に向かって下に移動し、最後のタスクのみが「現在の」ウィンドウの上部に表示されるようにします。下矢印キーは1行ずつ移動し、PgDnはウィンドウ全体をスクロールします。

左、右 : 列のスクロール 表示可能なフィールドのビューを水平方向に1列ずつ移動します。

注:一部のフィールド/列は固定幅ではなく、表示されているときは画面の残りの幅すべてが割り当てられることに注意してください。右または左にスクロールすると、その機能によって最初は予期しない結果が生じる場合があります。

さらに、可変幅のフィールドが最後に表示されるフィールドとして配置されている場合、特別な規定があります。右矢印キーでそのフィールドに到達し、表示される唯一の列になった場合、そのフィールド内で水平方向にスクロールできます。「C」インタラクティブコマンドで詳細を確認してください。

Home : ホーム位置への移動

表示をスクロールされていない座標に再配置します。

End : 終端位置への移動

表示を再配置し、一番右の列が最後の表示可能なフィールドを表し、一番下のタスク行が最後のタスクを表すようにします。


注:この位置からでも、矢印キーを使って下方向および右方向にスクロールできます。

これは、表示要素として単一の列と単一のタスクだけが残るまで続きます。

C:Show-scroll-coordinates の切り替え
メッセージ行が他の目的で使用されていない場合に表示される情報メッセージの表示を切り替えます。そのメッセージは、可変幅の列が水平方向にスクロールされているかどうかによって、次の2つの形式のいずれかになります。

スクロール座標:y = n/n(タスク)、x = n/n(フィールド)
スクロール座標:y = n/n(タスク)、x = n/n(フィールド)+ nn

n/nとして表示される座標は、「現在の」ウィンドウの左上隅に対する相対値です。 追加の「+ nn」は、可変幅の列が水平方向にスクロールされた場合に発生する変位を表します。このような変位は、右および左の矢印キーを使用して、通常の8文字のタブストップ単位で行われます。

y = n/n(タスク)

最初のnは、スクロールキーで制御される最上位の表示タスクを表します。 2番目のnは、合計タスク数を反映するように自動的に更新されます。

x = n/n(フィールド)

最初のnは、スクロールキーで制御される最も左に表示される列を表します。 2番目のnは、「f」インタラクティブコマンドを使用して確立される、表示可能なフィールドの合計数です。

上記のインタラクティブコマンドは常にフルスクリーンモードで利用可能ですが、「現在の」ウィンドウのタスク表示がオフになっている場合は、代替表示モードでは利用できません。

注:何らかのフィルタリングがアクティブになっている場合、すべてのタスクが表示されないため、スクロール時にわずかなずれが生じる可能性があります。これは、上/下矢印キーを使用する場合に特に顕著です。

ウィンドウ内での検索

これらのインタラクティブコマンドを使用して、特定の値を格納しているタスク行を検索できます。

L:Locate-a-string

検索を開始する文字列を入力するように求められます。文字列は大文字と小文字が区別されます。検索文字列の内容に制限はありません。

検索は、単一のフィールドまたは列の値に限定されません。タスク行に表示されているすべての値が検索文字列で使用できます。スペース、数字、記号、さらにはフォレストビューのアートワークを含めることもできます。

キーを押して何も入力しない場合、新しい検索文字列が入力されるまで、「&」キーが無効になります。

&:Locate-next

検索文字列が設定されている場合、topは次の出現箇所を検索します。

一致するものが見つかると、一致する文字列が含まれるタスク行が最初に表示されるように、現在のウィンドウが垂直方向に再配置されます。スクロール座標メッセージ(「C」インタラクティブコマンドを参照)は、このような垂直方向の再配置を確認するために使用できます。ただし、検索によって水平スクロールは変更されません。

一致する文字列の可用性は、次の要因によって影響を受けます。

    合計で利用可能なフィールドのうち、表示されるフィールド
トピック3b「フィールドの管理」を参照してください。

    ウィンドウを垂直方向および/または水平方向にスクロールします。
5c. ウィンドウのスクロールを参照してください。

    コマンド/コマンドラインの切り替え状態。
`c` インタラクティブコマンドを参照してください。

    選択した並べ替え列の安定性。
たとえば、PIDは良いですが、%CPUは良くありません。

検索が失敗した場合、`現在の`ウィンドウのホーム(スクロールされていない)位置を復元し、水平方向にスクロールし、コマンドラインを表示したり、より安定した並べ替えフィールドを選択したりすると、& 検索が成功する可能性があります。

上記のインタラクティブコマンドは、フルスクリーンモードでは常に利用可能ですが、`現在の`ウィンドウのタスク表示がオフになっている場合、代替表示モードでは利用できません。

    ウィンドウでのフィルタリング

この`その他のフィルタ`機能を使用して、選択基準を設定し、`現在の`ウィンドウに表示するタスクを決定できます。このようなフィルタは、W インタラクティブコマンドを使用してrcファイルに保存することで、永続化できます。

フィルタを設定するには、最低限、1) フィールド名、2) 演算子、3) 選択値を指定する必要があります。これは、topのユーザー入力の中で最も複雑なため、間違いを犯した場合は、コマンドの再呼び出しが役に立ちます。プロンプトが表示されたら、上下の矢印キーまたはそのエイリアスを使用してください。

フィルタの基本

フィールド名は大文字と小文字を区別し、ヘッダーに表示されているとおりにスペルします。

選択値は、表示されているフィールド全体である必要はありません。

選択は、大文字と小文字を区別するか、区別しないかのいずれかです。

デフォルトは包含であり、`!`を先頭に付けると除外されます。

複数の選択基準をタスクウィンドウに適用できます。

包含基準と除外基準を同時に使用できます。

1つの等価フィルタと2つの関係フィルタを自由に組み合わせて使用​​できます。

各タスクウィンドウに対して、独自のフィルタが個別に維持されます。

フィールドがオンになっていないか、現在表示されていない場合、選択基準は表示に影響しません。後で、フィルタリングされたフィールドが表示されると、選択基準が適用されます。

キーボードのサマリー

O : その他のフィルタ(大文字)
大文字と小文字を区別するフィルタを設定するように求められます。

o : その他のフィルタ(小文字)
大文字と小文字を区別しないフィルタを設定するように求められます。

^O : アクティブなフィルタを表示(Ctrlキー + `o`)
これは、\`現在の\`ウィンドウでアクティブになっているフィルタを思い出すのに役立ちます。
概要は、<Enter>キーを押すまでメッセージ行に表示されます。

= : 現在のウィンドウでのフィルタリングをリセット
これは、\`現在の\`ウィンドウ内のすべての選択基準をクリアします。ただし、追加の影響もあるため、4a. グローバルコマンドを参照してください。

+ : すべてのウィンドウでフィルタリングをリセット
これは、代替表示モードになっている場合に、すべてのウィンドウ内の選択基準をクリアします。`=` インタラクティブコマンドと同様に、追加の影響もあるため、5b. ウィンドウのコマンドを参照することをお勧めします。

入力要件

選択基準のプロンプトが表示された場合、提供するデータは2つの形式のいずれかである必要があります。 3つの必須情報と、オプションの4つがあります。これらの例では、わかりやすくするためにスペースを使用していますが、通常はスペースを使用しません。 #1 #2 #3 (必須) フィールド名 ? 包含する場合の値 ! フィールド名 ? 除外する場合の値 #4 (オプション)


項目 #1、#3、および #4 は、説明不要であるはずです。項目 #2 は、必須の区切り文字と、等価演算子 (=') または関係演算子 (<' または `>') のいずれかである演算子を表します。

^ ` 等価演算子は、部分一致のみを必要とし、それによりif-value' 入力の要件を減らすことができます。>' または<' 関係演算子は、数値フィールドであっても常に文字列比較を使用します。これらは、フィールドのデフォルトの配置と、均質なデータで機能するように設計されています。あるフィールドの数値がスケーリングされているのに対し、別のフィールドがスケーリングされていない場合、そのデータはもはや均質ではありません。

関係フィルタを設定し、デフォルトの数値または文字の配置を変更した場合、そのフィルタは失敗する可能性があります。関係フィルタがメモリフィールドに適用され、スケーリングを変更していない場合、誤解を招く結果が生じる可能性があります。たとえば、100.0m' (MiB) が文字列として比較されると、1.000g' (GiB) よりも大きくなります。

フィルタ結果が疑わしい場合は、配置またはスケーリングを変更するだけで、目的の目的を達成できる場合があります。詳細については、j'、J'、および `e' インタラクティブコマンドを参照してください。

潜在的な問題

これらの GROUP フィルタは、まったく同じ結果を生成する可能性があり、または 2 番目のフィルタは何も表示せず、単に空白のタスクウィンドウが表示される場合があります。 GROUP=root (同じ結果が得られるのはこの場合のみ) GROUP=ROOT (小文字の `o' で呼び出す)

これらの RES フィルタのいずれかが、現在のメモリ スケーリング係数によっては、不一貫性のある、または誤解を招く結果を生成する可能性があります。あるいは、両方のフィルタがまったく同じ結果を生成する可能性があります。 RES>9999 (同じ結果が得られるのはこの場合のみ) !RES<10000 (メモリ スケーリングが `KiB' に設定されている場合)

この nMin フィルタは、スケーラブルなフィールドに固有の問題を示しています。この特定のフィールドは、最大 4 桁しか表示できず、それ以上の値は自動的に KiB 以上にスケーリングされます。したがって、9999 よりも大きい値が存在する場合でも、2.6m、197k などとして表示されます。 nMin>9999 (常に空白のタスクウィンドウが表示される)

潜在的な解決策

これらの例は、他のフィルタリングをどのように創造的に適用して、ほぼすべての目的の結果を達成できるかを示しています。単一引用符は、フィルタの一部であるスペースを区切るため、またはステータス (^O) のリクエストを正確に表すために使用される場合があります。ただし、実際のif-value' でこれらを使用した場合、一致するものはありません。

フィールド nTH が表示されていると仮定すると、最初のフィルタは、マルチスレッド プロセスのみを表示します。また、表示されているすべてのフィールドの末尾にスペースがあることも思い出させてくれます。2 番目のフィルタは、より少ない入力でまったく同じ結果を達成します。 !nTH=` 1 ' (明確にするためのみ) nTH>1 (より少ない入力で同じ結果)


フォレストビューモードが有効で、コマンド列が表示されている場合、このフィルターは子プロセスを効果的に折りたたみ、3つのレベルのみを表示します。 !COMMAND=- ' ( ` は明確にするためのみ)

最後の2つのフィルターは、ステータス要求キー (^O) に応答して表示されるように見えます。実際には、各フィルターには個別の入力が必要でした。PRの例は、優先度20以上のタスクを表示するために必要な2つの同時フィルターを示しています。これは、一部が負の値になる可能性があるためです。次に、末尾のスペースを利用して、nMinの一連のフィルターは、上記で説明した「9999」の目標を達成できます。
`PR>20' + `!PR=-'         ( 2 は正しい結果)
`!nMin=0 ' + `!nMin=1 ' + `!nMin=2 ' + `!nMin=3 ' ...

ファイル
個人設定ファイル
このファイルは、対話型コマンド `W` を介して作成または更新されます。

従来のバージョンは、`$HOME/.your-name-4-top' + `rc' のように、先頭にピリオドが付いて記述されます。

新しく作成された設定ファイルは、`procps/your-name-4-top' + `rc' のように、先頭にピリオドが付かずに記述されます。procpsディレクトリは、絶対パスとして設定されている場合は `$XDG_CONFIG_HOME`、設定されていない場合は `$HOME/.config` ディレクトリのいずれかに従属します。

手動で編集することを意図していませんが、一般的なレイアウトは次のとおりです。
global   # 行 1: プログラム名/エイリアスの表記
"      # 行 2: id,altscr,irixps,delay,curwin
per ea   # 行 a: winname,fieldscur
window   # 行 b: winflags,sortindx,maxtasks など
"      # 行 c: summclr,msgsclr,headclr,taskclr
global   # 行 15: 追加のその他の設定
"      # 後の行はすべて、セクション 5e で説明されているオプションの
"      # 「その他のフィルター」と、セクション 6b で説明されている「検査」エントリに割り当てられます

rcファイルの有効な絶対パスを確立できない場合、実行中のtopに適用されたカスタマイズは保存できなくなります。

検査エントリの追加
`Y` 対話型コマンドを利用するには、topの個人設定ファイルの最後にエントリを追加する必要があります。これらのエントリは、単に読み取るファイルまたは実行するコマンド/パイプラインを表し、その結果は別のスクロール可能で検索可能なウィンドウに表示されます。

topのrcファイルの場所または名前が不明な場合は、`W` 対話型コマンドを使用して再作成し、その詳細をメモしてください。

検査エントリは、リダイレクトされた `echo` コマンドを使用して追加することも、設定ファイルを編集することによって追加することもできます。`echo` コマンドをリダイレクトすると、ファイルに上書き (`>`) するのではなく、追加 (`>>`) するため、rcファイルを上書きしてしまう可能性があります。逆に、エディターを使用する場合は、既存の行を破損しないように注意する必要があります。一部の行には、topのバージョンによって保存された構成ファイルに応じて、印刷できないデータまたは特殊な文字が含まれている可能性があります。

`\` 文字で始まる検査エントリは、内容に関係なく無視されます。それ以外の場合は、各エントリは次の3つの要素で構成され、各要素はタブ文字 (`\t`) で区切られている必要があります (したがって、合計で2つの `\t`)。

.type: `file` または `pipe` のリテラル
.name: Inspect 画面に表示される選択項目
.fmts: パスまたはコマンドを表す文字列

2つの種類の Inspect エントリは相互に置き換えられません。`file` と指定されたエントリは、`fopen` を使用してアクセスされ、`.fmts` 要素には単一のファイルを参照する必要があります。`pipe` と指定されたエントリは、`popen` を使用し、`.fmts` 要素には複数のパイプライン化されたコマンドを含めることができ、インタラクティブなコマンドを含めることはできません。

`.fmts` に記述されたファイルまたはパイプラインが、特定の PID 入力またはプロンプトで受け入れられる入力を処理する場合、フォーマット文字列には `%d` 指定子を含める必要があります。以下に例を示します。

.fmts= /proc/%d/numa_maps
.fmts= lsof -P -p %d

`pipe` 型のエントリの場合、より包括的な結果を得るために、stderr を stdout にリダイレクトすることもできます。したがって、フォーマット文字列は次のようになります。

.fmts= pmap -x %d 2>&1

以下に、両方の種類の Inspect エントリが rcfile にどのように表示されるかの例を示します。最初の行は、先頭の `#` 文字があるため無視されます。明確にするために、疑似タブ (`^I`) の周りには余分なスペースが追加されていますが、実際のタブには追加のスペースはありません。

# pipe ^I ソケット ^I lsof -n -P -i 2>&1
pipe ^I 開いているファイル ^I lsof -P -p %d 2>&1
file ^I NUMA 情報 ^I /proc/%d/numa_maps
pipe ^I ログ ^I tail -n100 /var/log/syslog | sort -Mr

上記のコメントされたエントリを除いて、次の例は、`.toprc` という名前の rcfile を使用して同様の結果を得るためにエコーできる内容を示しています。ただし、埋め込まれているタブ文字があるため、これらの行のそれぞれは、単に `echo` ではなく、`/bin/echo -e` で始まる必要があります。これは、使用するシェルに関係なく、バックスラッシュの解釈を有効にするためです。

"pipe\t開いているファイル\tlsof -P -p %d 2>&1" >> ~/.toprc
"file\tNUMA 情報\t/proc/%d/numa_maps" >> ~/.toprc
"pipe\tログ\ttail -n200 /var/log/syslog | sort -Mr" >> ~/.toprc

作成した Inspect エントリが、表示できない文字を含む出力を生成する場合、それらは `^C` 表記または 16 進数 `<FF>` 形式で表示されます。これは、値によって異なります。これにはタブ文字も含まれ、`^I` として表示されます。より正確な表現を得るには、埋め込まれたタブを展開する必要があります。次の例は、`file` エントリにできる内容でしたが、埋め込まれたタブを削除するために `pipe` を使用しています。

# 次の行には `\t` が含まれていたでしょう...
# file ^I <your_name> ^I /proc/%d/status
# しかし、これを使用すると埋め込まれた `\t` が削除されます...
pipe ^I <your_name> ^I cat /proc/%d/status | expand

注: 一部のプログラムは、終了するために SIGINT に依存している場合があります。したがって、次のような `pipe` が確立された場合、結果を確認するために Ctrl-C を使用して終了する必要があります。これは、`^C` が top を終了しない唯一の場合です。

pipe ^I Trace ^I /usr/bin/strace -p %d 2>&1

最後に、「pipe」タイプの項目は、パイプラインとコマンドという点で議論されてきましたが、シェルスクリプトを含めることは何も妨げません。おそらく、Yインタラクティブコマンド用に特別に作成された新しいスクリプトを含めることもできます。

たとえば、Inspectエントリの数が時間とともに増えると、画面幅を超えた場合に「Options:」行が切り捨てられます。これは操作に影響しませんが、一部の選択肢が表示されなくなります。ただし、切り捨てによって一部の選択肢が失われたものの、それらをすべて表示したい場合は、以下のヒントにある簡単な解決策があります。

Inspection Pause at pid ... 使用法:左/右キーを押してからEnterキーを押します... オプション:help 1 2 3 4 5 6 7 8 9 10 11 ...

トップのrcファイルの上部にあるエントリには、.name要素に番号が付けられ、helpエントリは、これらの番号付きの選択肢が実際に何を意味するのかを説明する、作成したシェルスクリプトを識別します。このようにして、より多くの選択肢を表示できます。

システム設定ファイル

この設定ファイルは、独自の構成ファイルを保存していないユーザーのデフォルトを表します。形式は、個々の構成ファイルとまったく同じであり、上記の説明にあるinspectエントリも含まれる場合があります。

作成は簡単なプロセスです。

    topをインストールに合わせて適切に構成し、`W`インタラクティブコマンドを使用してその構成を保存します。

    必要な`inspect`エントリを追加してテストします。

    その構成ファイルを`/etc/`ディレクトリに`topdefaultrc`としてコピーします。

システム制限ファイル

このファイルが存在すると、通常ユーザーに表示されるヘルプ画面のバージョンに影響します。

さらに重要なことに、これは通常ユーザーがtopを実行中に実行できる操作を制限します。次のコマンドは実行できなくなります。 k タスクを強制終了する r タスクの優先度を変更する d または s 遅延/スリープ間隔を変更する

この設定ファイルはtopによって作成されません。代わりに、手動で作成し、/etc/ディレクトリにtoprcとして配置します。

次の例に示すように、正確に2行必要です。 s # 1行目:セキュアモードスイッチ 0 # 2行目:秒単位の遅延間隔

環境変数

次の変数の値は重要ではありません。存在することだけが重要です。

LIBPROC_HIDE_KERNEL

これにより、すべてのカーネルスレッドの表示が防止され、概要領域のTasks/Threadsカウントからこれらのプロセスが除外されます。

トリッキーな手法

これらの手法の多くは、topにスケジューリングのブーストを与えた場合に最も効果的です。したがって、権限がある場合は、nice値として-10を指定してtopを開始することを検討してください。

    カーネルマジック

これらのトリッキーな手法では、topはフルスクリーンモードで実行する必要があります。

ユーザーインターフェイスは、プロンプトとヘルプを通じて、遅延間隔は10分の1秒に制限されていることを意図しています。ただし、必要な遅延を自由に設定できます。Linuxを最高のスケジューリングで確認したい場合は、0.09秒以下の遅延を試してみてください。

この実験では、X Windowでxtermを開いて最大化します。次に、次の操作を行います。 . スケジューリングのブーストと小さな遅延を適用します。 nice -n -10 top -d.09 . ソートされた列のハイライトをオフにして、パスの長さを最小限に抑えます。 . 行のハイライトをオンにして、強調表示します。 . さまざまなソート列(TIME/MEMは効果的です)と、通常のソートまたは逆ソートを試して、最もアクティブなプロセスを表示します。


表示されるのは、これまで通りに活動している非常に忙しい Linux ですが、それを説明するプログラムはありません。

xterm で「白地に黒」のカラーを使用し、top のカラーマッピング画面でタスクの色を黒に設定し、タスクのハイライトを太字に設定し、反転にしないようにします。次に、遅延間隔を約 0.3 秒に設定します。

最もアクティブなプロセスを表示すると、現在実行中のタスクの幽霊のような画像が表示されます。

既存の rc ファイルを削除するか、新しいシンボリックリンクを作成します。この新しいバージョンを起動し、T (秘密のキー、セクション 4c「タスクエリアコマンド、並べ替え」を参照) の後、Wq を入力します。最後に、-d0 (ゼロ遅延) でプログラムを再起動します。

表示は以前の top の 3 倍の速度で更新され、300% の速度向上が実現します。top が TIME の階段を上るにつれて、top が最上位に到達するかどうかについて、辛抱強く推測してください。

    バウンドウィンドウ

この無意味なトリックには、代替表示モードが必要です。

3 つまたは 4 つのタスクディスプレイを表示し、最後のウィンドウ以外の任意のウィンドウを選択し、i コマンドトグルを使用してアイドルプロセスをオフにします。i を適用した場所に応じて、いくつかのタスクディスプレイがバウンドしたり、アコーディオンのように、top が可能な限りスペースを割り当てるように見える場合があります。

各ウィンドウの概要行を次のように設定します。1 つはメモリなし (m)、もう 1 つは状態なし (t)、そしてメッセージ行だけを表示するウィンドウにします。次に、a または w を押し続け、バウンドウィンドウのバリエーションである、ホッピングウィンドウを観察します。

4 つのウィンドウすべてを表示し、それぞれに対して、i コマンドトグルを使用して、アイドルプロセスをオフにします。「エクストリームバウンド」ゾーンに入ります。

    ビッグバードウィンドウ

この無意味なトリックにも、代替表示モードが必要です。

4 つのウィンドウすべてを表示し、1:Def が「現在の」ウィンドウであることを確認します。次に、n インタラクティブコマンドを使用してウィンドウサイズを徐々に大きくし、他のすべてのタスクディスプレイを「巣から押し出す」ようにします。

すべてが移動したら、_ コマンドトグルを使用して、すべての表示/非表示ウィンドウを切り替えます。そして、次のことを考えてください。 top は嘘をついているのか、それとも、あなたが与えた真実を正直に伝えているのか。

    オールド・スイッチェルー

この無意味なトリックは、代替表示モードを使用しない方が適しています。これは、ウィンドウごとの配置が有効になっているためです。

top を起動し、COMMAND を最後の(一番右の)列として表示します。必要に応じて、c コマンドトグルを使用してコマンドラインを表示し、V コマンドトグルを使用してフォレストビューモードが有効になっていることを確認します。

次に、上下の矢印キーを使用して、切り捨てられたコマンドライン (+ が最後の位置にあります) が表示されるようにディスプレイの位置を調整します。xterm のサイズを変更する必要がある場合があります。 あなたはプロであり、本物です。

最後に、`j`コマンドを使って、COMMAND列を右揃えにします。

右矢印キーを使ってCOMMAND列に移動します。右矢印キーを押し続けながら、表示されるコマンド行の移動方向をよく観察してください。

一部の行は左に移動し、他の行は右に移動します。

最終的にはすべての行が方向を変え、右に移動します。

バグ バグレポートは、こちらまでお送りください。

関連項目 free(1)、ps(1)、uptime(1)、atop(1)、slabtop(1)、vmstat(8)、w(1)