procps-ng のリポジトリの master をビルドして、 top を実行したらデフォルトの UI がガラっと変わっているのに気がついた
さらに A
を押すとカラフル
以降調べたこと
Forest-View-Mode と Graph
プロセスをツリー状に表示するのは Forest View と呼ぶらしい
CPUやメモリのメーター表示は Graph と呼ぶらしい
コミットログ
Graph 表示を追加したのは以下のコミット (v.3.3.10 でリリース)
デフォルトを Forest View に切り替えたのは以下のコミット (v.3.3.10 でリリース)
注: Forest View 自体がどこで導入されたのかは追いきれてない
CentOS7
CentOS7.4 (1708) の top は procps-ng-3.3.10-16.el7 で、どちらも使える機能なのだが全く知らずに過ごしていた
理由を探るべくパッケージの spec ファイルを rpms/procps-ng.git - git.centos.org で確認したところ、以下のオプションによって 新しいモードをデフォルトでは使わない指定になっているのだった。 ΩΩΩ<ナ、ナンダッテー
--disable-modern-top
RHEL の意向なのかなぁ。仕様をガラっと変えたくないとか
CentOS7 で新しいモード を有効にしたい場合
- top 起動
- V を押す ... Forest-View-Mode にする
- 1 を押す ... 論理CPU を全て表示する
- m を押す ... メモリの Graph を表示する
- t を押す ... CPU の Graph を表示する
- c を押す ... コマンドラインをフル表示する
とすると現在の master 版とほぼ同じ UI に変身する。繰り返すが全然知らなかったな
感想
- 手に馴染んで使ってるツールほど 新しい機能や良いやり方に気がつかないってのはあるある
- 強制的に新しいのにシフトさせることで再学習やアンラーニングを促す効果もあろう (Apple ぽい)
- 障害や不具合調査する際には top は必須コマンドだが、バージョンが違うとショートカットキーの違いで思うように操作できないことがあって、緊急時に困ったりはする
procps-ng / top は継続的に開発が続けられていて、新しいカーネルの仕様変更の追随や NUMA や LXC への対応や、現在は UTF-8 化などが進められている。今後の進化にも期待だ〜