Linuxのtopコマンドの結果をテキストファイルに出力する方法
How to capture the output of a top command in a file in linux?
http://stackoverflow.com/questions/11729720/how-to-capture-the-output-of-a-top-command-in-a-file-in-linux
1 2 3 4 5 6 7 8 9 10 11 12 13 |
[root@host01 ~]# top -b -n 1 > top_`date +"%Y%m%d%H%M%S"`.txt [root@host01 ~]# cat top_20150427131256.txt top - 13:12:57 up 88 days, 20:13, 1 user, load average: 0.09, 0.09, 0.09 Tasks: 167 total, 2 running, 165 sleeping, 0 stopped, 0 zombie Cpu(s): 1.6%us, 0.4%sy, 0.0%ni, 97.8%id, 0.1%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 3107084k total, 2803560k used, 303524k free, 351224k buffers Swap: 524280k total, 68k used, 524212k free, 1408304k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 23659 apache 16 0 145m 53m 9284 R 51.2 1.8 4:06.90 httpd 6003 mysql 18 0 437m 184m 7016 S 2.0 6.1 602:20.04 mysqld 1 root 15 0 2172 604 524 S 0.0 0.0 0:02.46 init (snip) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 |
TOP(1) Linux User’s Manual TOP(1) 名前 top - Linux のタスクを表示する 書式 top -hv | -bcisS -d delay -n iterations -p pid [, pid ...] 昔からのスイッチ ’-’ と空白の指定は任意である。 説明 top プログラムは稼働中のシステムの動的なリアルタイムの概要を報告する。 Linux カーネルが現在管理しているタスクの一覧だけでなく、システムの概 要 情 報も表示できる。表示されるシステムの概要情報のタイプと各タスクについ て表示される情報のタイプ・順序・サイズは、ユーザーが全て設定可能で、 そ の設定は次に起動したときにも保存できる。 こ のプログラムはプロセスの操作に関する限定された対話型インタフェースだ けでなく、個人用の設定についての特に拡張されたインタフェースも提供し て い る。 -- 操作の全ての面についての包括的なインタフェースを提供してい る。このプログラムは、この文書を通して top という名前で呼ばれているが、 希 望 する任意の名前にすることができる。新しい名前 (エイリアスでもよい) は、top の表示に反映され、設定ファイルを読み書きの際に使用される。 概要 ドキュメント これ以降の目次 1. コマンドラインオプション 2. フィールド / カラム a. フィールドの説明 b. カラムの選択と順序指定 3. 対話的コマンド a. グローバルなコマンド b. サマリーエリアのコマンド c. タスクエリアのコマンド d. カラーマップ 4. 別形式の表示モード a. ウィンドウの概要 b. ウィンドウのコマンド 5. ファイル a. システム設定ファイル b. 個人設定ファイル 6. くだらないトリックの例 a. カーネルのトリック b. バウンドするウィンドウ c. 大きな雛鳥のようなウィンドウ 7. バグ, 8. 以前の top の履歴, 9. 著者, 10. 関連項目 操作 top を操作するときの最も重要な 2 つのキーは、ヘルプ (’h’ または ’?’) と 終了 (’q’) キーである。終了させるときには、代わりとして、単純に昔からの 割り込みキー (’^C’) を使うこともできる。 最初に top を起動する場合、昔からの以下のスクリーンの要素が表示され る: 1) サマリーエリア; 2) メッセージ/プロンプト行 3) カラムヘッダ; 4) タス クエリア。しかし、以前の top と比較すると、いくつかの違いがある。 ハイライト サマリーエリア: 負荷 (load) / 稼働時間 (uptime) の値はハイライトされ ず、その他の要素の値のみがハイライトされる。 タスクエリア: 実行中 (または実行の準備がされている) のタスクがハイラ イトされる。これらのプロセスを強調する唯一の手段は太字で表示すること である。 内容/ラベル サマリーエリア: プログラム名が表示される。シンボリックリンク名または エイリアスが表示される場合もある。 Cpu(s) 状態ラベルは他のものが表示 さ れる可能性を暗に示している。メモリ統計では小文字 ’k’ が使用される 。 カラムヘッダ: 新しいフィールドといくつかの変更されたラベルが表示され る。 top をカスタマイズすれば新しいフィールドが更に表示される。 注意: top の表示は 512 文字に制限される。全てのフィールドを表示するため には最低 160 文字が必要である。残りの幅は ’Command’ カラムに使用でき る 。 起動時のデフォルト値 以 下の起動時のデフォルトは、設定ファイルの使用を仮定していないので、ユ ーザーはカスタマイズできない。しかし、アスタリスク (’*’) の付いたコマン ドはコマンドラインで上書きできる。 全体のデフォルト ’A’ - 別形式表示 Off (全画面) * ’d’ - 遅延時間 3.0 秒 ’I’ - Irix モード On (’solaris’ smp ではない) * ’p’ - PID の監視 Off * ’s’ - セキュアモード Off (非セキュアモード) ’B’ - 太字表示 Off サマリーエリアのデフォルト ’l’ - 負荷平均/稼働時間 On (プログラム名が表示される) ’t’ - タスク/Cpu 統計 On (1+1 行。’1’ を参照) ’m’ - メモリ/スワップ使用量 On (2 行を使う) ’1’ - シングル Cpu On (smp の場合 1 行になる) タスクエリアのデフォルト ’b’ - 太字によるハイライト On (背景と前景を「反転」しない) * ’c’ - コマンドライン Off (コマンドラインではない名前) * ’i’ - アイドルタスク On (全てのタスクを表示する) ’R’ - 逆順ソート On (pid の降順でソートする) * ’S’ - 累積時間 Off (死んだ子プロセスを累積しない) ’x’ - カラムのハイライト Off (フィールドをソートする) ’y’ - 行のハイライト On (実行中のタスクが表示される) ’z’ - カラー/単色 Off (カラー表示しない) 1. コマンドラインオプション top のコマンドラインの書式は、以下のように構成される: -hv | -bcisS -d delay -n iterations -p pid [,pid...] 一般には必須とされているスイッチ (’-’) と空白でさえ、完全にオプションで ある。 -b : バッチモード 操作 top を「バッチモード」で起動する。 top の出力を他のプログラムや フ ァイルに送る場合に役立つ。このモードでは、top は入力を受け付けず、 ’-n’ コマンドラインオプションで設定された繰り返し回数に達するか 、 kill されるまで実行を続ける。 -c : コマンドライン/プログラム名 トグル 最後に記録された ’c’ の状態を逆にして、top を起動する。よって、top がコマンドラインを表示していた場合は、プログラム名を表示する。プロ グラム名を表示していた場合は、コマンドラインを表示する。より詳しい 情報は対話的コマンド ’c’ を参照すること。 -d : 遅延時間 間隔: -d ss.tt (秒.1/10秒) スクリーンを更新する間隔を指定する。ユーザー個人の設定ファイルにあ るこれに対応する値、または起動時のデフォルトの値を上書きする。実行 後に対話的コマンド ’d’ または ’s’ で変更できる。 小数点以下の秒も指定できるが、負数は許可されない。しかし全ての場合 に おいて、 top が「セキュアモード」で実行されているときには、この ような変更は禁止されている。ただし root の場合 (かつコマンドライン オ プション ’s’ が使われていない場合) は除く。「セキュアモード」に ついてのより詳しい情報は、「5a. システム設定ファイル」の話題を参照 すること。 -h : ヘルプ ライブラリのバージョンと使用法のプロンプトを表示して、終了する。 -i : アイドルプロセス トグル 最 後 に 記録された ’i’ の状態を逆にして、top を起動する。トグルが Off の場合、アイドルタスクまたはゾンビタスクは表示されない。 -n : 繰り返し回数 制限: -n number top が終了するまでの繰り返し回数またはフレームの最大数を指定する。 -u : ユーザーを指定して監視する: -u somebody 指 定された実効 UID または実効ユーザー名にマッチするプロセスのみを 監視する。 -U : ユーザーを指定して監視する: -U somebody 指定された UID またはユーザー名にマッチするプロセスのみを監視す る 。 実・実効・保存・ファイルシステム UID とマッチするものが選ばれる 。 -p : PID を指定して監視する: -pN1 -pN2 ... または -pN1, N2 [,...] 指定されたプロセス ID とマッチするプロセスのみを監視する。このオプ ションを 20 個まで指定するか、コンマで区切った 20 個までのプロセス ID を指定することができる。両方を混ぜて使用することもできる。 これはコマンドラインオプションでのみ指定できる。通常の操作に戻した い 場 合は、top を終了して再起動する必要はなく -- 対話的コマンド ’=’ を実行するだけでよい。 -s : セキュアモード 操作 たとえ root であっても、強制的にセキュアモードにして top を起動 す る。このモードはシステムの設定ファイルで制御する方が、更に良い。 ( 「5. ファイル」の話題を参照すること)。 -S : 累積時間モード トグル 最後に記録された ’S’ の状態を逆にして、top を起動する。「累積モ ー ド」が On の場合、各プロセスはそのプロセスとそのプロセスの終了した 子プロセスで使われた cpu 時間とともに表示される。このモードのよ り 詳しい情報については、対話的コマンド ’S’ を参照すること。 -v : バージョン ライブラリのバージョンと使用法のプロンプトを表示して、終了する。 -M : メモリ単位を検出 メモリ単位(k/M/G)を検出し浮動小数点をメモリ概要に表示する。 2. フィールド / カラム 2a. フィールドの説明 top で表示可能なフィールドを以下にリストする。これらのフィールドは、対 話的コマンド ’o’ (フィールドの順序変更) で指定できる位置に関わらず、 以 下で示す文字と常に関連付けられている。 全 てのフィールドはソート対象として選択可能であり、降順でソートするか昇 順でソートするかを制御できる。ソート機能についての詳しい情報は「3c. タ スクエリアコマンド」の話題を参照すること。 a: PID -- プロセス ID タ スクの一意なプロセス ID。定期的に同じ番号が使われるが、0 から再ス タートすることはない。 b: PPID -- 親プロセスのプロセス ID タスクの親タスクのプロセス ID。 c: RUSER -- 実ユーザー名 タスクの所有者の実ユーザー名。 d: UID -- ユーザー ID タスクの所有者の実効ユーザー ID。 e: USER -- ユーザー名 タスクの所有者の実効ユーザー名。 f: GROUP -- グループ名 タスクの所有者の実効グループ名。 g: TTY -- 制御端末 制御端末の名前。通常はプロセスが開始されたデバイス (シリアルポート、 疑 似端末 (pty) など) であり、入出力に使われる。しかしタスクは端末に 関連付ける必要はなく、その場合は ’?’ が表示される。 h: PR -- 優先度 タスクの優先度 i: NI -- nice 値 タスクの nice 値。負の nice 値は高い優先度を意味し、正の nice 値は低 い 優 先 度 を 意味する。このフィールドが 0 の場合、タスクの割り当て (dispatchability) を決定する際に優先度を調整していないこと意味する。 j: P -- 最後に使用された CPU (SMP) 最 後 に利用されたプロセッサを表す値。カーネルはわざと weak affinity を使っているので、本当の SMP 環境では、この値は頻繁に変わりやすく な る 。また実行中の top の動作そのものが (cpu 時間に対する余分な要求と なることによって) weak affinity を壊すかもしれず、プロセスの CPU 変 更がより多くなるかもしれない。 k: %CPU -- CPU 使用率 前回のスクリーン更新からの、タスクの所要 CPU 時間の占有率。総 CPU 時 間のパーセンテージで表される。本当の SMP 環境では、「Irix モード」が Off の場合、 top は「Solaris モード」で操作し、タスクの cpu 使用率は 総 CPU 数で割り算される。 ´Irix/Solaris’ モードは対話的コマンド ’I’ でトグルできる。 l: TIME -- CPU 時間 タ スクが開始してから利用した CPU 時間の総計。「累積モード」が On の 場合、各プロセスは終了した子プロセスが使った cpu 時間とともにリス ト さ れ る。「累積モード」はコマンドラインオプションと対話的コマンドの ’S’ でトグルできる。このモードについての更なる情報は、対話的コマンド ’S’ を参照すること。 m: TIME+ -- CPU 時間 (1/100 単位) ´TIME’ と同じであるが、精度を 1/100 秒単位まで反映させる。 n: %MEM -- メモリ使用率 (RES) タスクが現在使用している利用可能な物理メモリの占有率。 o: VIRT -- 仮想イメージ (kb) タスクが使用している仮想メモリの総量。コード・データ・共有ライブラリ ・スワップアウトされているページが含まれる。 VIRT = SWAP + RES. p: SWAP -- スワップされたサイズ (kb) タスクの総仮想メモリイメージのうちスワップアウトされた部分。 q: RES -- 常駐サイズ (kb) タスクが使用しているスワップされていない物理メモリ。 RES = CODE + DATA. TP 3 r: CODE -- コードサイズ (kb) 実行可能コードに割かれる物理メモ リ の総量。「テキスト常駐サイズ (text resident set)」または TRS とも 呼ばれる。 s: DATA -- 「データ+スタック」のサイズ (kb) 実行可能コード以外に割かれる物理メモリの総量。「データ常 駐 サ イ ズ (data resident set)」または DRS とも呼ばれる。 t: SHR -- 共有メモリサイズ (kb) タスクが利用している共有メモリの総量。他のプロセスと共有される可能性 のあるメモリを単純に反映している。 u: nFLT -- ページフォールト回数 あるタスクに対して起こったメジャーページフォールトの回数。ページフォ ールトは、現在、アドレス空間にない仮想ページに対してプロセスが読み書 きしようとしたときに起こる。メジャーページフォールトとは、あるページ を利用可能にするためにディスクアクセスが起こる場合のことである。 v: nDRT -- ダーティページ数 最後に書き込まれてから変更されたページの数。ダーティページは、対応す る物理メモリの場所が他の仮想ページで使用される前に、ディスクに書き込 まれなければならない。 w: S -- プロセス状態 タスクの状態は以下のいずれかである: ’D’ = 割り込み不可能なスリープ状態 ’R’ = 実行中 ’S’ = スリープ状態 ’T’ = トレース中/停止された ’Z’ = ゾンビ 実行中と表示されるタスクは「実行準備済み」と考えるのがより正しいだろ う。 -- タスクの task_struct は Linux の実行キューで表現されている 。 本当の SMP マシン以外でさえ、top の遅延間隔と nice 値に依っては、 この状態のタスクを非常に多く目にするだろう。 x: Command -- コマンドラインまたはプログラム名 タスクを開始するのに使ったコマンドライン、またはタスクに関連づけられ たプログラムの名前を表示する。コマンドラインとプログラム名は、コマン ドラインオプションと対話的コマンドの ’c’ でトグルできる。 コマンドラインの表示を選択した場合、 (カーネルスレッドのように) コマ ンドラインのないプロセスは、以下の例のように、プログラム名だけが括弧 で括られて表示される。 ( mdrecoveryd ) コマンドライン・プログラム名の表示が現在のフィールド幅に対して長すぎ る場合は、切り詰められる場合がある。フィールド幅はその他に選択されて いるフィールド・フィールドの順番・現在のスクリーン幅に依存する。 注意: ’Command’ フィールド/カラムは固定幅でないという点が特殊であ る 。 表示の際、このカラムは残りの全てのスクリーン幅 (最大 512 文字) が 割り当てられる。これは、プログラム名からコマンドラインへの切り替えで 文字数が増える場合に備えるためである。 y: WCHAN -- スリープしている関数 カーネルリンクマップ (’System.map’) が利用可能かに否かによって、タス クが現在スリープしているカーネル関数の名前またはアドレスが表示される 。実行中のタスクでは、このカラムにダッシュ (’-’) が表示される。 注 意: こ の フィールドを表示すると、 top 自身のワーキングセットが 700Kb 増加する。このオーバーヘッドを減らす唯一の方法は、top を停止し て再起動することである。 z: Flags -- タスクフラグ このカラムにはタスクの現在のスケジューリングフラグが 0 を省略した 16 進数で表示される。これらのフラグは公式には <linux/sched.h> に書か れ ている。公式なものではないが、「フィールド選択」スクリーンと「フィー ルド順序指定」スクリーンにも説明がある。 2b. カラムの選択と順序指定 対話的コマンド ’f’ (フィールド選択) または ´o’ (フィールド順序指定) を 入 力すると、現在のフィールド文字列とその説明が記述されたスクリーンが表 示される。 以下は、top の 4 つのウィンドウ・フィールドグループのうちの 1 つのサ ン プルのフィールド文字列と、使用される代表的なフィールドの説明である。 - サンプルのフィールド文字列: ANOPQRSTUVXbcdefgjlmyzWHIK - 表示されるフィールドの順番は、文字列中の文字の順番に対応する。 - 文 字が大文字の場合、(スクリーン幅が許すならば) そのフィールド自身が タスク表示の一部として表示される。これは以下の抜粋のように、先頭のア スタリスク (’*’)でも示される: ... * K: %CPU = CPU usage l: TIME = CPU Time m: TIME+ = CPU Time, hundredths * N: %MEM = Memory usage (RES) * O: VIRT = Virtual Image (kb) ... フィールド選択スクリーン -- 対話的コマンド ’f’ 対応する文字を入力することで表示をトグルできる。 フィールド順序指定スクリーン -- 対話的コマンド ’o’ 対応する大文字を入力することでフィールドを左に移動できる。また小文字 を入力することで右に移動できる。 3. 対話的コマンド 以下に挙げたものは、コマンドをカテゴリ分けした簡単な索引である。いく つ かのコマンドは 1 回以上書かれている -- これはコマンドの意味やスコープ が、そのコマンドが発行された状況に依存するためである。 3a. グローバルなコマンド <Ret/Sp> ?, =, A, B, d, G, h, I, k, q, r, s, W, Z 3b. サマリーエリアのコマンド l, m, t, 1 3c. タスクエリアのコマンド 外観: b, x, y, z 内容: c, f, o, S, u サイズ: #, i, n ソート: <, >, F, O, R 3d. カラーマッピング <Ret>, a, B, b, H, M, q, S, T, w, z, 0 - 7 4b. ウィンドウのコマンド -, _, =, +, A, a, G, g, w 3a. グローバルなコマンド グローバルな対話的コマンドは常にフルスクリーンモードと別形式の表示モ ー ド で使用可能である。しかし「セキュアモード」で動作している場合には、こ れらの対話的コマンドのいくつかは使用できなくなる。 top がセキュアモードか否かを前もって知りたい場合は、ヘルプコマンドを 実 行し、2 行目のシステムサマリーを見るだけでよい。 <Enter> または <Space> :表示の再描画 これらのコマンドは何も行わず、単に無視される。しかし、これらのコ マンドは top を目覚めさせ、 (最後の画面更新の) 後で表示全体が 再 描画される入力が受け付けられていた場合はそれを知らせる。 遅延間隔が長いときに現在の状態を知りたい場合は、これらのキーのい ずれかを使うこと。 ´?´ または ´h´ :ヘルプ 2 つのヘルプレベルが使用可能である。 1 つ目では全ての基本的な 対 話 的コマンドのメモを表示する。 top がセキュアな場合、このスクリ ーンは省略される。 ヘルプスクリーンで ’h’ または ’?’ を入力すると、別形式の表示モー ドの対話的コマンドのヘルプに移動する。 ´=´ :タスク制限の終了 表 示 されるタスクの制限をなくす。このコマンドは有効になっている ’i’ (アイドルタスク) コマンドと ´n’ (最大タスク数) コマンドを 無 効 に す る。このコマンドは PID を指定した監視の「終了」も行う。 PID を指定した監視についての議論は、コマンドラインオ プ シ ョ ン ’-p’ を参照すること。 別形式の表示モードで実行すると、このコマンドは少し広い意味を持つ 。 ´A´ :別形式の表示モードのトグル このコマンドはフルスクリーンモードと別形式の表示モードを切り替え る。「カレント」ウィンドウとフィールドグループについて知るには、 4. 別形式の表示モードと対話的コマンド ’G’ の話題を参照すること。 ´B´ :太字の有効/無効のトグル このコマンドは terminfo の「太字」機能を使用するか否かに影響し、 サマリーエリアとタスクエリアの両方の「カレント」ウィンドウを変更 する。このコマンドは本来はダム端末での使用を意図したものであるが 、いつでも適用できる。 注意: このトグルが On で top がモノクロモードで動作している場 合 、表示全体が通常のテキストになる。よって、’x’ と ’y’ (またはその 一方) のトグルを使って、強調のために表示状態を逆にしない限り、こ れらのトグルが On になっていても、表示上は確認できない。 * ´d´ または ´s´ :遅延時間間隔の変更 秒単位の遅延時間 (表示を更新する間隔) を入力するためのプロンプト が表示される。 小数以下の秒も受け付けるが、負の数は許されない。 0 を入力する と (ほぼ) 連続で更新され、システムと端末ドライバが top の要求に遅れ ないようするので、不満足な表示になってしまう。システムの負荷は遅 延の値に反比例するので、気をつけて設定すること。 現在の遅延時間を知りたい場合は、好きなときに単にヘルプコマンドを 実行して、システムサマリーの 2 行目を見ればよい。 ´G´ :別ウィンドウ/フィールドグループの選択 1 から 4 までの数字を入力するためのプロンプトが表示される。こ の 数 字は「カレント」ウィンドウに設定するウィンドウ/フィールドグル ープを示す。特に別形式の表示モードを試してみると、すぐにこれらの 4 つのウィンドウの満足度が増すだろう。 ´I´ :Irix/Solaris モードのトグル 「Solaris モード」(’I’ トグルの Off) で動作している場合、タスク の cpu 使用率は CPU の個数で割り算される。このコマンドを実行する と、このトグルの新しい状態が表示される。 ´u´ :ユーザーの選択 UID またはユーザー名を入力するプロンプトが出る。選択されたユーザ ーに属するプロセスのみが表示される。このオプションは実効 UID に マッチする。 ´U´ :ユーザーの選択 UID またはユーザー名を入力するプロンプトが出る。選択されたユーザ ーに属するプロセスのみが表示される。このオプションは実・実効・保 存・ファイルシステム UID にマッチする。 * ´k´ :タスクの kill 最 初に PID を入力するプロンプトが出され、その後、送信するシグナ ルを入力するプロンプトが出される。プロンプトから反映されるデフォ ル トのシグナルは SIGTERM である。しかし、数値または名前を指定し て任意のシグナルを送ることができる。 kill を行う手順から抜けたい場合は、どこまで進んだかによって、 以 下の何れかを行えばよい: 1) pid プロンプトでは、単に <Enter> を押す。 2) シグナルプロンプトでは、0 を入力する。 ´q´ :終了 * ´r´ :タスクの renice 最 初に PID を入力するプロンプトが出され、その後、そのプロセスに 設定する nice の値を入力するプロンプトが出される。正の値を入力す ると、プロセスの優先度は低くなる。逆に負の値を入力すると、そのプ ロセスはカーネルから現在より有利に扱われる。 ´W´ :設定ファイルの書き出し オプション・トグル・現在のディスプレイモード・遅延時間の全てを保 存 する。 top を終了する直前にこのコマンドを発行すると、全く同じ 状態で後から再起動できる。 ´Z´ :カラーマッピングの変更 このキーを入力すると、「カレント」ウィンドウまたは全てのウィンド ウの色を変更する別のスクリーンに移る。この対話的コマンドについて の詳細は、3d. カラーマッピングの話題を参照すること。 * アスタリスク (’*’) が付いたコマンドは「セキュアモード」では使用で き な い。また、これらのコマンドはレベル 1 のヘルプスクリーンに表示され ない。 3b. サマリーエリアにおけるコマンド サマリーエリアの対話的コマンドはフルスクリーンモードと別形式の表示モ ー ド の両方において常に利用可能である。これらは表示の先頭行に影響し、メッ セージとプロンプトの位置を決定する。 これらのコマンドは常に「カレント」ウィンドウ/フィールドグループにだけ影 響 を与える。「カレント」ウィンドウとフィールドグループについての洞察は 、 4. 別形式の表示モードと対話的コマンド ’G’ の話題を参照すること。 ´l´ :負荷平均/uptime のトグル -- On/Off フルスクリーンモードで動作している場合は、プログラム名 (エイリア スの可能性もある) の行も含まれる。また別形式の表示モードで動作し ている場合は、「カレント」ウィンドウ名も含まれる。 ´m´ :メモリ/スワップ利用量のトグル -- On/Off このコマンドはサマリーエリアの 2 行に影響する。 ´t´ :タスク/CPU 状態のトグル -- On/Off このコマンドは、’1’ トグルの状態と top が本当の SMP で動作してい るか否かによって、サマリーエリアの 2 行以上に影響する。 ´1´ :1 つに纏めた CPU 状態/個々の CPU 状態のトグル -- On/Off このコマンドは ’t’ コマンドで CPU 状態の部分をどのように表示する かに影響する。このコマンドは元々は大規模並列な SMP マシンで使 用 するためにあるが、 SMP 環境にのみ限定されるわけではない。 サ マ リーエリア で ’Cpu(s):’ と表示されている場合、’1’ トグルは On であり、全ての cpu 情報が 1 行に集計される。そうでないの場 合 、各 cpu は ’Cpu0, Cpu1, ...’ のように分けて表示される。 注意: どのウィンドウにおいてもサマリーエリア全体のトグルが Off の場合は 、メッセージ行のみが残される。このようにして、フルスクリーンモードに お け るプログラム名または別形式の表示モードにおける「カレント」ウィンドウ 名を (一時的に) 犠牲にして、利用可能なタスク行を最大化できる。 3c. タスクエリアにおけるコマンド タスクエリアの対話的コマンドはフルスクリーンモードにおいて常に利用可 能 である。 タ ス ク エリアの対話的コマンドは、「カレント」ウィンドウのタスク表示が Off になっている場合 (4. 別形式の表示モードの話題を参照すること) は、別 形式の表示モードでは全く利用できない。 タスクウィンドウの外観 以 下のコマンドもグローバルな ’B’ (太字の無効) トグルの状態に影響を受 ける。 ´b´ :太字/反転のトグル このコマンドは ’x’ と ’y’ トグルがどのように表示されるかに影響す る。さらにこのコマンドはこれらのトグルのうち少なくとも 1 つが On になっている時にのみ利用可能である。 ´x´ :カラムのハイライトのトグル 現在のソートフィールドのハイライトを変更する。ソートフィールドを 常に視覚的に知らせる必要はたぶんない。またパスが長くなってしまう ので、ユーザーは常に「カラムのハイライト」を Off にして実行す る だろうと top は仮定している。 どのフィールドでソートされているかを忘れてしまった場合、このコマ ンドはすぐに視覚的に知らせてくれる。 ´y´ :行のハイライトのトグル 「実行中」のタスクのハイライトを変更する。このタスク状態について の 更なる考察は、 2a. フィールドとプロセス状態の説明の話題を参照 すること。 この機能はシステムの健康状態をみるための重要な情報を提供する。こ のコマンドのコストは、端末のエスケープシーケンスするだけで、わず かなものである。 ´z´ :カラー/モノクロのトグル 「カレント」ウィンドウの色を、最も最近使われたカラー形式と、白地 に黒または黒地に白という古くからの形式で切り替える。このコマンド はサマリーエリアとタスクエリアの両方を変更するが、 ´x’, ’y’, ’b’ トグルの状態には影響しない。 タスクウィンドウの内容 ´c´ :コマンドライン/プログラム名のトグル このコマンドは「コマンド」カラムが現在表示されているか否かによら ず、受け付けられる。後でコマンドフィールドが表示に含まれるように なると、ユーザーが適用した変更はすぐに反映される。 ´f´ と ´o´ :フィールド選択または順序指定 これらのキーを押すと、別のスクリーンが表示される。このスクリーン では、どのフィールドを表示するかとフィールドの順序が変更できる。 こ れらの対話的コマンドについての更なる情報は、 2b. カラムの選択 と順序指定の話題を参照すること。 ´S´ :累積時間モードのトグル 「累積モード」が On の場合、各プロセスはそのプロセス自身とそのプ ロセスの死んだ子プロセスの cpu 時間とともにリストされる。 Off の場合、多くの別々のタスクにフォークするプログラムは、現れづ らい ´init’ やシェルのようなプログラムは表示されるが、その他のコ ン パ イラなどはたぶん表示されない。ソートフィールドが等しく ’S’ の状態が異なる 2 つのタスクウィンドウを試して、どちらの表示法 が よいか見て欲しい。 このコマンドを発行すると、このトグルの新しい状態が表示される。「 累積モード」が有効になっているかを前もって知りたい場合は、単にヘ ルプを実行して、ウィンドウサマリーの 2 行目を見ればよい。 ´u´ :指定されたユーザーのみの表示 表示するユーザーの名前を入力するプロンプトが出される。それ以降は 、タスクウィンドウにはマッチするユーザー ID のみが表示される。タ スクが何も表示されなくなる場合もある。 後になって全てのタスクを再び監視したくなった場合は、このコマンド を再度発行すればよい。ただし、プロンプトに名前は入力せず、 単 に <Enter> を押す。 タスクウィンドウのサイズ ´i´ :アイドルプロセスのトグル 全てのタスクまたはアクティブなタスクのみを表示する。このトグルが Off の場合、アイドルプロセスまたはゾンビプロセスは表示されない。 別形式の表示モードにおいて最後のタスク表示に対してこのコマンドが 適用されても、それより前の全てのタスク表示は既に表示されているの で、ウィンドウのサイズには影響しない。 ´n´ または ´#´ :最大タスク数の設定 表示するタスク数を入力するプロンプトが出される。ユーザーが指定し た数以下で、かつ利用可能なスクリーンの行数が使用される。 別形式の表示モードにおいて使用されると、このコマンドは、最後のタ スク表示を除き、現在表示されている各タスク表示のサイズを正確に制 御できる。それより前の全てのタスク表示は既に描画されているので、 最後のウィンドウのサイズには影響しない。 注意: 別形式の表示モードにおいて最後に表示されるタスク表示のサイ ズを大きくしたい場合は、それより前のタスク表示のサイズを小さくす ること。 タスクウィンドウのソート 互 換性のため、この top は以前の top で使われていた多くのソートキーを サポートしている。元来これは以前の top のユーザーへのサービスなので、 これらのコマンドはヘルプスクリーンには現れない 。 コマンド ソートフィールド サポート A 開始時間 (非表示) No M %MEM Yes N PID Yes P %CPU Yes T TIME+ Yes 以下のソート機能を使う前に、対話的コマンド ’x’ を使ってカラムのハイラ イトを一時的に有効にすることを奨める。これは実際のソート環境がユー ザ ーの意図に合っているかを確認する助けになる。 現 在のソートフィールドが表示されている場合にのみ、以下の対話的コマン ドを受け付ける。ソートフィールドは次の理由により表示されていないか も しれない: 1) スクリーン幅が足りない。 2) 対話的コマンド ’f’ が Off である。 ´<´ :ソートフィールドを左へ移動 ソートフィールドが表示されている最初のフィールドでない限り、ソー トカラムを左へ移動する。 ´>´ :ソートフィールドを右へ移動 ソートフィールドが表示されている最後のフィールドでない限り、ソー トカラムを右へ移動する。 現 在のソートフィールドが表示されているか否かに関わらず、以下の対話的 コマンドは常に受け付ける。 ´F´ または ´O´ :ソートフィールドの選択 これらのキーは別のスクリーンを表示させる。このスクリーンでは、ど のフィールドをソートカラムとするかを変更できる。 以前には表示されていなかったフィールドが選択された場合、そのフィ ールドは top の表示に戻るときに強制的に On にされる。しかし、 ス クリーン幅と選択したフィールドの順序によっては、ソートフィールド は表示されないかもしれない。 この対話的コマンドは、カラムのハイライトをOffにして top を実行し ているときに、現在のソートフィールドをとても簡単に確認できる便利 な方法である。 ´R´ :ソートフィールドの逆順/正順のトグル この対話的コマンドを使うと、「高い方から低い方」と「低い方から高 い方」を切り替えることができる。 注 意: フィールドのソートには、カラムに表示されている値ではなく、内部 的な値を使っている。よって、TTY と WCHAN フィールドは厳密な ASCII 照 合順序 (collating sequence) には違反するかもしれない。 3d. カラーマッピング 対話的コマンド ’Z’ を発行すると、別のスクリーンが表示される。このスクリ ーンでは、top の表示に戻る前に、「カレント」ウィンドウのみまたは 4 つの ウィンドウ全ての色を変更できる。 利用可能な対話的コマンド 4 つの大文字で対象を選択する。 8 つの数字で色を選択する。 通常のトグルが利用可能である ’B’ :太字の無効/有効 ’b’ :実行中のタスクを「太字」/反転 ’z’ :カラー/モノクロ その他のコマンドも利用可能である ’a’/’w’ :適用し、次/前へ行く。 <Enter> :適用し、終了する。 ’q’ :現在の変更を破棄し、終了する。 ´a’ または ’w’ を使って対象となるウィンドウを順番に選択し、そのウィンド ウを抜けるときに表示されているカラー形式を適用できる。もちろん、任意 の ウ ィンドウに戻って別な色を再適用したり、 ´z’ トグルで色を完全に Off に することも簡単にできる。 カラーマッピングスクリーンは、フルスクリーンモードまたは別形式の表示 モ ードにおける「カレント」ウィンドウ/フィールドグループを変更するのにも使 える。 ´q’ または <Enter> が押されたときに対象とされていたフィールド は 、 top の表示に戻ったときにカレントフィールドにされる。 4. 別形式の表示モード 4a. ウィンドウの概要 フィールドグループ/ウィンドウ: フルスクリーンモードでは、スクリーン全体で表される単一のウィンド ウがある。この単一のウィンドウは、 4 つの異なるフィールドグル ー プ (以下で繰り返し出てくる対話的コマンド ’G’ を参照すること) の うち 1 つのフィールドグループの表示に変更することもできる。 4 つ のフィールドグループの各々には、個別に設定可能なサマリーエリアと フィールドグループ毎のタスクエリアがある。 別形式の表示モードでは、これら 4 つのフィールドグループは同時 に 表 示することもできるし、コマンドで個別に Off にすることもできる 。 サマリーエリアは、たとえそのメッセージ行だけであっても、常に存在 する。どの時点でも1 つのサマリーエリアだけを表示することができる 。しかし、コマンドによっては、0 から 4 個までの別々のタスク表 示 がスクリーンに表示されているかもしれない。 カレントウィンドウ: 「カレント」ウィンドウとは、サマリーエリアに関連づけられたウィン ドウと、タスクに関連するコマンドが常に送られるウィンドウである。 別形式の表示モードでは、タスク表示 のトグルを Off できるので、い くつかのコマンドは「カレント」ウィンドウでは制限されるかもしれな い。 サ マリーエリアの先頭行のトグルを Off にすると、更に複雑になる。 ウィンドウ名 (’l’ でトグルされる行) がないと、どのウィンドウが「 カレント」ウィンドウなのか簡単に分からなくなる。 4b. ウィンドウにおけるコマンド ´-´ と ´_´ :ウィンドウの表示/非表示のトグル ´-’ キーは「カレント」ウィンドウのタスク表示を On または Off に する。 On の場合、このタスクエリアは ’f’ と ’o’ コマンドで確定し た最小限のカラムヘッダしか表示しない。またこのタスクエリアは、ユ ーザーが 0 個以上のタスクに対して適用した他のタスクエリアのオ プ ション/トグルも反映する。 ´_’ キーは同じことを全てのタスク表示に対して行う。一方、このキー は現在表示されているタスク表示とユーザーがトグルを Off にした タ ス ク表示を切り替える。 4 つのタスク表示が現在全て表示されている 場合、この対話的コマンドはサマリーエリアのみを表示される要素とし て残す。 * ´=´ と ´+´ :ウィンドウの均等化 (バランスの取り直し) ´=’ キーは「カレント」ウィンドウのタスク表示を表示させる。このキ ーは有効になっている ’i’ (アイドルタスク) と ´n’ (最大タスク 数) コマンドを無効にする。 ´+’ キーは同じことを全てのウィンドウに対して行う。 4 つのタスク 表示は再度表示され、均等にバランスがとられる。タスク表示には、ユ ー ザーが以前に適用したカスタマイズも保持される。ただし、´i’ (ア イドルタスク) と ’n’ (最大タスク数) コマンドは除く。 * ´A´ :別形式の表示モードのトグル このコマンドはフルスクリーンモードと別形式の表示モードを切り替え る。 このコマンドを初めて発行すると、4 つのタスク表示が全て表示される 。その後、モードを切り替えると、表示対象として選んだタスク表示の みが表示される。 * ´a´ と ´w´ :次のウィンドウを前方/後方へ進める これらのキーは「カレント」ウィンドウを変更する。コマンドが送られ るウィンドウを順番に変更する。これらのキーは巡回する形式で動作す るので、どちらのキーを使っても希望する 「カレント」ウィンドウ へ 辿り着ける。 ウインドウ名が表示されている (’l’ のトグルを Off にしてい な い) 場 合に、「カレント」ウィンドウの名前が強調/色付き表示されていな いときは、タスク表示 が Off で多くのコマンドが制限されていること を知らせている。 * ´G´ :他のウィンドウ/フィールドグループの選択 1 から 4 まで数字を入力するプロンプトが出される。この数字は「カ レント」ウィンドウに設定するウィンドウ/フィールドグループを表 す 。 フルスクリーンモードでは、このコマンドは「カレント」ウィンドウを 変更するのに必須である。別形式の表示モードでは、’a’ と ’w’ コ マ ンドに比べてあまり便利ではない、単なる代替コマンドである。 ´g´ :ウィンドウ/フィールドグループ名の変更 「カレント」ウィンドウに適用する新しい名前を入力するプロンプトが 出される。ウィンドウ名が表示されている (’l’ のトグルが On になっ ている) 必要はない。 * アスタリスク (’*’)が付いた対話的コマンドは、別形式の表示モード以外で も使われる。 ´=’, ’A’, ’G’ 常に利用可能である。 ´a’, ’w’ カラーマッピングのときと同じ動作をする。 5. ファイル 5a. システムの設定ファイル このファイルが存在すると、どのバージョンの「ヘルプ」スクリーンが通常 の ユ ーザーに表示されるかに影響を与える。より重要なのは、top の実行中に通 常のユーザーに許可されることを、このファイルで制限できることである。 通 常のユーザーは以下のコマンドを発行できる。 k タスクを kill する。 r タスクを renice する。 d または s 遅延時間/スリープの間隔を変更する。 システムの設定ファイルはtopによって作成されない。逆に、ユーザーがこのフ ァイルを手動で作成し、/etc ディレクトリに置く。このファイル名は ’toprc’ で なければならず、先頭に ’.’ (ピリオド) が付いてはならない。このファイ ルには 2 行だけしか書かれていてはならない。 以下に /etc/toprc の内容の例を示す: s # 1 行目: 「セキュア」モードのスイッチ 5.0 # 2 行目: 「遅延」間隔 (秒単位) 5b. 個人の設定ファイル このファイルは ’$HOME/.top に付けた名前’ + ’rc’ として書き出される。 対 話的コマンド ’W’ で、このファイルを作成または更新できる。 以下に一般的なレイアウトを示す: グローバル # 1 行目: プログラム名/エイリアス、メモ " # 2 行目: id,altscr,irixps,delay,curwin ウィンドウ毎 # 行 a : ウィンドウ名,fieldscur " # 行 b : winflags,sortindx,maxtasks " # 行 c : summclr,msgsclr,headclr,taskclr 環 境変数 $HOME が存在しない場合、 top は個人の設定ファイルをカレントデ ィレクトリに書き込もうとする。ただしカレントディレクトリの権限に従う。 6. くだらないトリックのサンプル これらの「トリック」の多くは、ユーザーが top のスケジューリングを向上さ せ た場合に、最もうまく動作する。ここでは top を nice 値 -10 で開始する ため、ユーザーが権限を持っていると仮定している。 6a. カーネルのマジック これらのくだらないトリックでは、top がフルスクリーンモードになってい る 必要がある。 -*- ユーザーインタフェース (プロンプトからヘルプまで) では、意図的に遅 延間隔が 1/10 秒までに制限されている。しかしユーザーは希望する遅延 時間を自由に設定できる。 Linux が top に対して最も良いスケジューリ ングを行うのを見たいなら、遅延時間を 0.09 秒以下にすればよい。 この実験では、X Window System で xterm をオープンして最大化する 。 その後、以下を実行する: . スケジューリングを向上させ、遅延時間を短くする: nice -n -10 top -d.09 . ソートされるカラムのハイライトを Off にし、 パスの長さを最小化する。 . 行の反転によるハイライトを On にして、強調する。 . いろいろなソートカラム (TIME/MEM がうまく動作する) と 正順・逆順のソートを試し、最もアクティブなプロセスが ビューに入るようにする。 Linux がユーザーのために常に動作し、とても忙しくしているのが分かる だろう。しかしこれを説明できるプログラムはなかった。 -*- xterm で「黒地に白」を使い、top のタスクの色を黒に設定し、タスクの ハイライトを反転でなく太字になっていることを確認して欲しい。そして 遅延間隔を 0.3 秒程度に設定する。 最もアクティブなプロセスがビューに入った後で、現在実行中のタスクが ゴーストのようなイメージとして見えるだろう。 -*- 既存のリソースファイルを削除するか、新しいシンボリックリンクを作成 する。この新しいバージョンを起動し、’T’ (隠しキー 3c. タスクエリア コ マンド、ソートの話題を参照すること) を入力し、続いて ’W’ と ’q’ を入力する。最後に、プログラムを -d0 (遅延時間 0) で再度起動する。 こ の表示は前の top より 3 倍の割合で更新され、300% スピードアップ する。 top は TIME で上位に上がってくるので、 top が最上位に到達す るのに投資している間は、忍耐強く待って欲しい。 6b. バウンドするウィンドウ こ れらのくだらないトリックでは、top が別形式の表示モードになっている必 要がある。 -*- 3 個または 4 個のタスク表示で表示されているときに、最後のウィン ド ウ以外を選択し、アイドルプロセスを Off にする。 ´i’ を適用している かによって、いくつかのタスク表示がときどきバウンドし、アコーディオ ン のようになる。これは top がスペースを確保するのに最善を尽くして いるためである。 -*- 各ウィンドウのサマリー行を別々に設定する: メモリ使用量の表示なし・ 状 態表示なし・何も表示しない・メッセージ行のみ。そして ’a’ または ’w’ を押し続けると、バウンドするウィンドウの別バージョン -- 跳ね 上がるウインドウが見られる。 -*- 4 つのウィンドウ全てを表示し、各ウィンドウでアイドルプロセスの表示 を Off にする。そうすると「非常にバウンドする」ゾーンに入るだろ う 。 6c. 大きな雛鳥のようなウィンドウ このくだらないトリックでも別形式の表示モードが必要である。 -*- 4 つのウィンドウ全てを表示し、1:Def が「カレント」ウィンドウになっ ているのを確認する。そして他の全てのタスク表示が「巣から押し出され る」まで、ウィンドウサイズを大きくし続ける。 他 のウィンドウがすべて置き換えられたら、全ての表示/非表示ウィンド ウをトグルする。そして以下の言葉について良く考えてみよう: top は嘘をついているのか、ユーザーが強要した 真実を正直に言っているのか? 7. バグ バグ報告は以下に送って欲しい: Albert D. Cahalan, <albert@users.sf.net> 8. 以前の top の履歴 オリジナルの top は、Branko Lankester <lankeste@fwi.uva.nl> の ps プ ロ グラムを元にして Roger Binns が書いた。 Robert Nation <nation@rocket.sanders.lockheed.com> はこれを proc ファイ ルシステムに適合させた。 Helmut Geyer <Helmut.Geyer@iwr.uni-heidelberg.de> は設定可能フィール ド のサポートを追加した。 その他にも多くの人々が長年に渡って貢献してきた。 9. 著者 この全く新しく拡張された top の置き換え版は Jim / James C. Warner, <warnerjc@worldnet.att.net> によって書かれた 。 以下の方々からは、計り知れない助けをしてもらった: Albert D. Cahalan, <albert@users.sf.net> Craig Small, <csmall@small.dropbear.id.au> 10. 関連項目 free(1), ps(1), uptime(1), atop(1), slabtop(1), vmstat(8), w(1). Linux September 2002 TOP(1) |