我可以通过线程进入应用程序来测量Linux中的CPU使用率吗
我有多线程C应用程序(守护进程)。我可以在应用程序中按线程测量CPU使用情况。您可以从我可以通过线程进入应用程序来测量Linux中的CPU使用率吗,c,multithreading,linux-kernel,cpu-usage,core,C,Multithreading,Linux Kernel,Cpu Usage,Core,我有多线程C应用程序(守护进程)。我可以在应用程序中按线程测量CPU使用情况。您可以从/proc//stat解析数据。CPU线路如下所示:- cpu 143359 8217 480152 132054567 45162 5678 24656 0 0 虽然这是一个老问题,但在我自己的谷歌搜索中,它却成为了热门话题。所以我会提供我想出的答案 假设您正在使用pthreads或使用它的库,例如Boost库 您可以使用pthread\u getcpuclockid和clock\u gettime 手册
/proc//stat
解析数据。CPU线路如下所示:-
cpu 143359 8217 480152 132054567 45162 5678 24656 0 0
虽然这是一个老问题,但在我自己的谷歌搜索中,它却成为了热门话题。所以我会提供我想出的答案 假设您正在使用pthreads或使用它的库,例如Boost库 您可以使用
pthread\u getcpuclockid
和clock\u gettime
手册页链接 下面是一个以双精度返回当前时间的简单示例
我有一个进程、一个pid和许多线程。每个线程都获得传入连接并进行工作。我开发了线程监控和有趣的信息“thead是如何加载的”
double cpuNow( void ) {
struct timespec ts;
clockid_t cid;
pthread_getcpuclockid(pthread_self(), &cid);
clock_gettime(cid, &ts);
return ts.tv_sec + (((double)ts.tv_nsec)*0.000000001);
}