このコマンドラインで任意のコマンドラインプログラムのパフォーマンスを監視します


このポストはもともと私のブログで公開され、オリジナルのポストhereを見つける.
私は最近、Linuxコマンドラインで多くのbashスクリプトと一回限りのプロセスを実行しており、CPUやメモリの使用状況をできるだけ速く監視する方法に興味を持っています.これらのプロセスのうちのいくつかは、私のLinuxボックスを切迫した停止にもたらすようでした、そして、即座の資源監視なしで、私はそのようなプロセスが過剰なRAMまたはCPUを食べていたかどうかわからなかった(あるいは、両方とも!)

人々は通常何をする
従来、suggestions about process monitoringは以下のようなものである.
  • あなたのコマンドラインプロセスを実行します.
  • はLinuxとMacの両方で一般に利用できる ps aux コマンドでプロセスのPIDを取得します.

  • ユーティリティ top を実行します
    top -p <pid>
    
    Linuxまたは
    top -pid <pid>
    
    Mac OSで.
  • しかし、私は24579142を実行する前に数秒以内に終了するコマンドを実行したいと思いました.起動されるとすぐにどのようにこれらのコマンドを監視することができますか?

    何ができるか
    いつものように、Unixには答えがあります.

  • バックグラウンドでコマンドを実行し、出力をtopにし、CPU/メモリの使用状況を監視している間にコマンドラインで出力されないようにします.
    unzip ~/Downloads/sample.zip > /dev/null &
    

  • このバックグラウンドプロセスのPIDをエコーする
    echo $!
    

  • を組み合わせて、プロセスのPIDを/dev/null
    top -p `{ unzip ~/Downloads/sample.zip > /dev/null & } && echo $!`
    
    Linuxまたは
    top -pid `{ unzip ~/Downloads/sample.zip > /dev/null & } && echo $!`
    
    Mac OSで.
  • ブーム、あなたはすぐに単一のコマンドを使用してプロセスを監視し始めた.今ではその桃ではない!

    ボーナス:topの代わりに、使用率htop私❤️ htopは、LinuxとMac OSの両方で利用可能なプロセス監視ユーティリティです.さあ、色を持っている!私たちのプロセスのCPU/メモリ性能へのより良い洞察のためにtopの代わりにこれを使いましょう.

  • をインストールします
    sudo apt-get install htop
    
    Ubuntuについて
    brew install htop
    
    HomebrewのMac OSで

  • を監視するためにtopの代わりにhtopを使用して我々の以前の監視コマンドを実行します
    htop -p `{ unzip ~/Downloads/sample.zip > /dev/null & } && echo $!`
    
  • 下記の活動で、一つのコマンドを見てください!


    倍のボーナス:より美しいHtopのためのスタイルエディタ
    私はここで使用している端末テーマについての情報を追加する必要がありました.私は完全に同意します.
  • ターミナルエミュレータ:グリッドのタブなどのようなクールな機能とiTerm2素晴らしいMac OS端末の交換.
  • Unixシェル+テーマフレームワーク:htop + oh-my-zsh UbuntuまたはMac OS上でこれら(類似の手順)をインストールする方法についてチェックアウトします
  • topのテーマ:デフォルトテーマzsh.oh-my-zshを設定した後、robbyrussellファイルで指定されたテーマを指定することができます