brand new note

ジャズ屋が技術の話をするところ

topコマンドの込み入った使い方

topって見るだけで終わりやすいのでいじって何ができるのか試してみた。

画像で見比べる記事が欲しかったので書いた所もある。

f:id:frazz:20210605102244p:plain

1

CPUコアごとの使用率を表示できる。

f:id:frazz:20210605102453p:plain

2

NUMAをサポートしている場合NUMAノードごとの使用率を表示できる*1

f:id:frazz:20210605104148p:plain

z

カラーマッピングの設定をONにする。見やすいね(?)

f:id:frazz:20210605114253p:plain

Zで設定を変更できるのでもう少し見やすくできそうではある。

b

bold。running tasksの訳が微妙にわからないけど、今CPUが処理しているプロセスにマーカーを引くってことだろうか。よく適当にbを押して自分出来てる感を演出したくなるのでこれはしっかり理解しておきたいところ。

f:id:frazz:20210605114823p:plain

B

boldをenableにする。マーカーだけだと思ってたら単に太字にする機能もあるらしい。こっちのがシンプルだしこれありきのマーカーなんだろうね。マーカーはmanでは"bold"と記載してるので、そういうことだとおもう。

f:id:frazz:20210605115733p:plain

f

Filelds management。これびっくりしたんだけど、いつも見ている出力はもっと自分が見やすくしたいようにカスタムできるらしい。試しに説明の通りCOMMANDを一番上に持っていくと、こんな感じになった。

f:id:frazz:20210605120215p:plain f:id:frazz:20210605120226p:plain

全部有効化してみる

ああ〜

f:id:frazz:20210605120952p:plain

見切れるくらいなら最初から/proc見ればいいんじゃないかという気持ちになった。

ちなみに

こんな遊び方をしても一回デタッチすると元の出力に戻るので安心してほしい。でも、遊びじゃなくとも恒久的に出力を自分好みにするための編集ファイルがあるほうがなにかと便利なはずだ。探してみた。

haydenjames.io

When you save using W, notice top will display the path to the file it creates to save custom settings.

これだ。Wで保存する。

f:id:frazz:20210605124141p:plain

いえす!ファイルを確認する。

ekp@ekp-ThinkPad-X1-Carbon-3rd ~/.c/procps> head toprc
top's Config File (Linux processes with windows)
Id:i, Mode_altscr=0, Mode_irixps=1, Delay_time=2.0, Curwin=0
Def fieldscur=�������ķ��Ŧ���������������������������������������������_`abcdefghij
    winflags=193844, sortindx=18, maxtasks=0, graph_cpus=0, graph_mems=0
    summclr=1, msgsclr=1, headclr=3, taskclr=1
Job fieldscur=�����(��Ļ�@<��)*+,-./012568>?ABCFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghij
    winflags=193844, sortindx=0, maxtasks=0, graph_cpus=0, graph_mems=0
    summclr=6, msgsclr=6, headclr=7, taskclr=6
Mem fieldscur=���<�����MBN�D34��&'()*+,-./0125689FGHIJKLOPQRSTUVWXYZ[\]^_`abcdefghij
    winflags=193844, sortindx=21, maxtasks=0, graph_cpus=0, graph_mems=0

うーんなんか若干文字化けしてるけどこれは別問題。

意外と簡素にまとまっていて、filelds managementでいじれる設定がこれを見る限りだとわからない。アルファベットが順に続いてるのはおそらく押して設定変更ができるキーのことを指してるんじゃないかと思う。このファイルをいじってカスタムするよりかは、topの実行中に好き勝手にやってみていいところで保存してくださいってことだろう。ともあれこれでtopを再度使っても自分好みの設定が持ち越されるようになった。デフォルトに戻したかったらファイルを消すだけだ。

s

脱線した。デフォルトでは3秒間隔でもろもろ出力されるけど、このインターバルはsで変更できる。きりがいいのでデータ取るときは1秒とかにすることがある。

f:id:frazz:20210605125915p:plain

n

デフォルトでは動作するすべてのプロセスを表示するようになっているけど、上位だけ表示することもできる。出力が減ると何が割りを食っているのか確認しやすい上に、ファイルに出力するときのデータサイズが軽くなるといったメリットがある。15から10にするときはこんな感じ。デフォルトは0、すなわち無制限である。

f:id:frazz:20210605130827p:plain

V

プロセスをツリー状に表示する。apacheとか使うとこの恩恵が多少わかるかもしれない。なんでVかと言われれば木っぽいからである(覚えられればいい)

f:id:frazz:20210605133940p:plain

m

メモリ使用率をバーで表示する。ここをどうするかは、ちゃんと使用量のデータを数値で取りたいか、その場で直感的に理解したいかで決めればよいと思う。普段使いならこっちのほうがかっこいいよね。

f:id:frazz:20210605131151p:plain

まあかっこよさだけならhtop使えって話ではあるんだけど。

最後に

こういう「出力が見えてから特定のコマンドを打ち込む操作」を「インタラクティブコマンド=対話コマンド」というらしい。manを見つけたので整形して再アップしてみた。テキスト探すの面倒じゃないみなさんはman読んでくれれば十分なんで、これが意味のある仕事かといわれればnoですけど、個人的に編集してて楽しかったので、型は今後につながるんじゃないかなあ、くらいに思ってます。

github.com