gotop
https://github.com/bunbunjp/gotop
これはなに?
nodejs製のシステムモニタリングツールgtopをより軽量化する狙いで
golangを使って再実装しました。
コアごとのCPU利用率とメモリの利用率遷移
メモリスワップとネットワーク通信量、ディスク使用量、プロセス一覧の表示を実装しています。
マシンリソースのモニタリングに使ってもらえると幸いです。
どのぐらい軽くなったのか
CPU利用率が1.7 GHz Intel Core i7のMBAで
gtop 6-7% -> gotop 2-4%
メモリ利用量が
gtop 80-90MB -> gotop 7-8MB
インストール
$ go get github.com/bunbunjp/gotop
どんな感じで実装してるか
もともとgolangの勉強も兼ねて実装しましたので、実装でイケてない所が多々あるかと思います。
お気づきの点があれば、ご指摘やContributeしてもらえるとうれしいです。
UIの実装はtermuiを使っています。
システム情報の取得にはgopsutilを一部使っています。
パッケージ管理はglideを使いました。
正直、見た目はかなりgtopのほうがいい感じですし、操作性もgtopのほうが。。。
今後対応したいと思ってること
- Windows対応したい
- process listで選んでkill実行したい
あとUIもgtopに負けないようにいろんなTUIライブラリを試してみたいなと思っています。