RUSAGE_THREAD不起作用,正在寻找解决方案/替代方案
RUSAGE_THREAD Does not work, looking for solution/alternative
我正在尝试使用rusage计算某个线程的平均CPU时间。
但是,我得到的"RUSAGE_THREAD"没有在此范围内声明。
我正在使用
#include <sys/resource.h>
并使用 -D_GNU_SOURCE 进行编译
在我的代码开头,我的 Linux 版本很好。
这是我尝试进行计算的地方:
struct rusage l_rusage;
int retVal = getrusage(RUSAGE_THREAD, &l_rusage);
u64 userUSeconds = (static_cast<u64>(l_rusage.ru_utime.tv_sec)) * 1000000 +
(static_cast<u64>(l_rusage.ru_utime.tv_usec));
u64 systemUSeconds = (static_cast<u64>(l_rusage.ru_stime.tv_sec)) * 1000000 +
(static_cast<u64>(l_rusage.ru_stime.tv_usec));
return (userUSeconds + systemUSeconds) / ACE_OS::num_processors_online();
有什么想法吗? 甚至可能是不同的解决方案? 我也在使用 ACE 库,所以我有ACE_OS,但在尝试使用 ACE_OS::rusage 时,我找不到RUSAGE_THREAD的等效物。
谢谢
编辑:还有另一件事,我无法访问线程制作代码的实际位置,我只能使用线程中的代码。
手册页说你需要定义宏_GNU_SOURCE
而不是__USE_GNU
。
相关文章:
- 运行同一解决方案的另一个项目的项目
- Project Euler问题4的错误解决方案
- 计算每个节点的树高,帮助我解释这个代码解决方案
- C++:Application.cpp中抛出了未解析的外部符号(解决方案在问题的末尾,供未来的读者参考)
- visual c++,如何获取解决方案目录中的代码
- 有没有办法在远程设备上打开和编辑visual Studio 2017解决方案
- C++Matching Brackets 2解决方案不起作用
- 在 ubuntu3 上C++ goto 定义有什么解决方案吗16.04?
- 在 leetcode 上提交解决方案时出现堆栈缓冲区溢出错误
- 我的固定时间步长与增量时间和插值的解决方案是错误的吗?
- 无法在问题解决方案中执行输出逻辑
- 最大的回文产品 - 程序未运行,编写解决方案但无法理解问题
- 从预序遍历构造 bst 的 c++ 和 python 解决方案之间的区别
- 在一个解决方案中针对第三方静态库 (Creo) 的不同版本(版本)进行构建
- 如何巧妙地编写两个函数——一个用于检查是否存在解决方案,另一个用于获取所有解决方案
- 使用 Git 处理 C++ Visual Studio 2019 解决方案的外部依赖项源代码管理的最佳方法是什么?
- N-queen问题:无法弄清楚为什么我的解决方案不起作用
- 从排序数组中删除重复项,具有不同代码方式的相同解决方案具有不同的输出
- 使用XOR查找O(n)-解决方案中的两个字符串是否为变位符
- Dll在同一解决方案中从 c# 项目导入到 c++ 项目