特定のアプリケーションの各スレッドについて、cpuの現在の使用状況(正確にはcpu%とwait%)に興味があります。その情報をどこかから入手することは可能ですか?
私はtop
が実際のスレッド(pidを含むもの)ごとに情報を分割できることを知っていますが、システム/ユーザー/待機CPU使用量の分割をそれぞれについて表示しません。また、その情報を記録する方法も教えてください。それができるアプリ(またはAPI)を知っていますか?
top -H -p pid
それが役に立てば幸い
ps
コマンドで取得できるスレッドあたりのCPU使用率のパーセント:
ps -Emo %cpu,pid,user,args
計算方法は ps manpage
:
現在、これは、使用されているCPU時間をプロセスが実行されている時間で割った値(cputime/realtime ratio)で、パーセンテージで表されています。
たぶんhtopを見てください。これでかなり多くの設定ができます。
Sarを試しましたか? pidレベルでも多くの情報を取得できます。
NagiosとPNP http://docs.pnp4nagios.org/pnp-0.4/start
素晴らしい作品です...設定はほとんどありません.
私は、これを調べるための豪華なツールがない組み込みシステムでこれに遭遇しました。
このため、私はcpuacct cgroup
し、各スレッドを独自のフォルダーに配置します。このようにして、それらの使用量を測定することができました。
階層は次のようになっています。
my-app.service
|-tid1
|-tid2
|-tid3
それから私はそれを
my-app.service
|-dir1
| -tid1
|-dir2
| -tid2
|-dir3
| -tid3