私は、Javaプロセスに対していくつかのJMeterテストを実行して、Webアプリケーションがどの程度負荷がかかっているかを判断します(500人以上のユーザー)。 JMeterは各Webリクエストの応答時間を与え、Tomcat Managerにp秒ごとにpingを実行してJVMヒープの現在のサイズを取得するスクリプトを作成しました。シェルスクリプトでCPU使用率を取得しますか?
私はTomcatが使用しているCPUの%のサーバ上の統計情報を収集したいと考えています。コマンドごとにX秒を実行し、結果をテキストファイルに追加...
PS_RESULTS=`ps -o pcpu,pmem,nlwp -p $PID`
:私はこのようなps
を使用して、シェルスクリプトでそれを実行しようとしました。 (誰もが不思議ため、pmem
=%のメモリ使用量とnlwp
は、スレッドの数である)
私はこれは私が希望よりも、「CPU使用率の%」の異なる定義を与えることがわかってきましたが - のマンページによると"###" の形式でプロセスの
CPU使用率:PS、
pcpu
は以下のように定義されます。使用されたCPU時間を、プロセスが実行されていた時間(cputime/realtime ratio)で割ったものをパーセンテージで表します。言い換えれば
、pcpu
は私に、プロセスの寿命するためのプロセスの%CPU使用率を示します。
サンプルをX秒ごとに取得したいので、現在のプロセスでCPU使用率を収集したいと思っています。これはtop
の場合と同じように (プロセスのCPU使用率最後の更新)。
これをシェルスクリプト内からどのように収集できますか?
dstatツールをお寄せいただきありがとうございます。 –