viraptor Asked: 2009-07-10 02:50:12 +0800 CST2009-07-10 02:50:12 +0800 CST 2009-07-10 02:50:12 +0800 CST 获取每个线程的 cpu 统计信息 772 我对特定应用程序中每个线程的 cpu 的当前使用情况感兴趣——准确地说是 cpu% 和 wait%。是否有可能从某个地方获取该信息? 我知道top可以为每个真实线程(带有 pid 的线程)拆分信息,但它没有显示每个线程的系统/用户/等待 cpu 使用拆分。我还想要一些记录该信息的方法。你知道任何可以做到这一点的应用程序(或 API)吗? linux threads 7 个回答 Voted liu bluse 2017-12-06T05:12:24+08:002017-12-06T05:12:24+08:00 top -H -p pid 希望它可以帮助 lexsys 2009-07-10T03:31:58+08:002009-07-10T03:31:58+08:00 您可以使用ps以下命令获得每个线程的 cpu 使用百分比: ps -emo %cpu,pid,user,args 其计算方式如下所述ps manpage: 目前,它是使用的 CPU 时间除以进程已运行的时间(cputime/realtime 比率),以百分比表示。 Best Answer Mei 2009-07-10T06:53:23+08:002009-07-10T06:53:23+08:00 我会调查SystemTap。这个工具肯定会给你你想要的。有这个分析线程的例子;不知道它是否具有您想要的一切,但您可以对其进行修改以使其具有。 Sven 2009-07-10T03:30:30+08:002009-07-10T03:30:30+08:00 也许看看htop,你可以用它配置很多。 LA 2010-04-13T10:45:00+08:002010-04-13T10:45:00+08:00 你试过sar吗?它甚至可以在 pid 级别上获取大量信息。 fsckin 2010-04-13T11:14:18+08:002010-04-13T11:14:18+08:00 Nagios 和 PNP http://docs.pnp4nagios.org/pnp-0.4/start 工作真棒......小配置。 Umut 2015-03-26T04:46:42+08:002015-03-26T04:46:42+08:00 我在嵌入式系统上偶然发现了这一点,我们没有花哨的工具来查看这些东西。 为此,我已使用cpuacct cgroup并将每个线程放入其自己的文件夹中。通过这种方式,我能够衡量他们的使用情况。 层次结构看起来像这样: my-app.service |-tid1 |-tid2 |-tid3 然后我把它改成 my-app.service |-dir1 | -tid1 |-dir2 | -tid2 |-dir3 | -tid3
希望它可以帮助
您可以使用
ps
以下命令获得每个线程的 cpu 使用百分比:其计算方式如下所述
ps manpage
:我会调查SystemTap。这个工具肯定会给你你想要的。有这个分析线程的例子;不知道它是否具有您想要的一切,但您可以对其进行修改以使其具有。
也许看看htop,你可以用它配置很多。
你试过sar吗?它甚至可以在 pid 级别上获取大量信息。
Nagios 和 PNP http://docs.pnp4nagios.org/pnp-0.4/start
工作真棒......小配置。
我在嵌入式系统上偶然发现了这一点,我们没有花哨的工具来查看这些东西。
为此,我已使用
cpuacct cgroup
并将每个线程放入其自己的文件夹中。通过这种方式,我能够衡量他们的使用情况。层次结构看起来像这样:
然后我把它改成