我需要获得进程中所有线程的CPU利用率指标。
操作系统= Redhat linux
使用POSIX编程语言= C++
需求=需要每隔几秒钟不确定地采集一次样本,而不仅仅是一次快照。
约束=不允许在线程中编写附加代码。
我知道您可以使用"top“命令,但是还有其他方法吗?有"ps“的旗子吗?
提前谢谢你的帮助。
我的c++程序不能创造比8 threads更多的东西。它返回错误代码EAGAIN(11)。因为缺乏可用的资源。在发布这个问题之前,我在谷歌上搜索了这个问题的解决方案,但没能从中得到多少信息。以下是我为我的程序和unix系统找到的详细信息。
我的线程创建函数是:-
thread_initialise(File *CFG_FILE)
{
int total_pthreads; //reads number of threads I want for the program from configuration file.
int rc =0 ;
fo
问题在主题中。让我解释一下“为什么”。我在Red Hat Enterprise Linux Server 7.7上运行我的应用程序。当我使用htop检查性能时,我发现很少有线程占用太多的CPU。我添加了一些调试日志,发现在我的代码中没有创建具有高CPU的线程。因此,我假设这些CPU贪婪线程是在我正在使用的第三方共享库中创建的。所以有一个问题:假设我有一个线程id (17405)。有没有办法找出是哪个共享库启动了这个线程?
如果这个问题太琐碎,我向您道歉--我不久前才开始使用Linux操作系统。
谢谢