问题标签 [getrusage]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
104 浏览

c - getrusage() 如何报告休眠时间?

我目前getrusage用来告诉我在应用程序的事件循环中花费了多少时间。

我想知道这将如何受到冬眠的影响。是否报告了休眠时间?或者也许作为系统时间?这是在 Posix 中的某个地方指定的还是这个系统依赖的?

编辑在此处对 Windows 提出相同的问题。

0 投票
1 回答
3374 浏览

c - 使用 getrusage 获取父母和孩子的时间

我正在尝试如何在 linux 环境中使用 c 中的 getrusage 函数,并且想知道我是否走在正确的轨道上。

我编写了一个小程序,以确保在应用到我的项目之前了解 getrusage 的工作原理。我想分别获取父进程和子进程的用户/内核时间。

请提供一些关于代码正确性的反馈,如果我有很多孩子而不是一个孩子,这个代码会返回所有孩子的组合使用吗?

0 投票
2 回答
11998 浏览

virtual-machine - 如何获取 VM(KVM) 的 CPU 使用率

如何在 virt-manager 等 KVM 中获取 vm 的 cpu 使用率? virt-manager 监控 vm cpu 使用情况

Libvirt 没有提供 API。

有谁知道如何从主机获取 vm cpu 使用情况?

0 投票
0 回答
76 浏览

getrusage - 为什么 tv_sec 和 tv_usec 使用 getrusage() 会给出意想不到的结果?

在这部分代码中,我尝试使用 getrusage 来测量时间:

用这些:

但它在终端上给了我这个:

我知道这不是真的。我需要格式为 5.54676686(秒)的经过时间。我怎样才能正确地得到它?

0 投票
1 回答
545 浏览

unix - /usr/bin/time 文件输入/输出

我正在努力寻找有关各种输出的确切含义的任何详细信息/usr/bin/time -v。即我对文件输入/输出的含义感到困惑。

如果有人对“/usr/bin/time”有一些经验,如果您能帮我解决这个问题,我将不胜感激。

0 投票
1 回答
367 浏览

linux - 为什么用 getrusage() 测量的用户已用时间不接近完全一致?

这个 C++ 程序给出了可变的结果。有时变化很大。我调用 getrusage() 一次来获取开始时间。然后我循环调用 rand() 500000000 次。然后我再次调用 getrusage() 并输出两个 getrusage() 调用之间经过的用户和系统时间。根据它包含的内容,我可以理解为什么“系统时间”会不一致。但我预计“用户时间”是(主进程)线程处于运行状态的时间。我认为从一次运行到下一次运行将非常接近完全一致。但事实并非如此。

0 投票
1 回答
623 浏览

c - BSD 上的“ru_maxrss”单位?

getrusage返回一个包含

ru_maxrss在 BSD 操作系统上 ,的单位是什么?这个值是以字节为单位还是以千字节为单位?“BSD”是指 FreeBSD、OpenBSD,但不是 Mac OS X / Darwin。

FreeBSD 手册页OpenBSD 手册页说单位是千字节:

但是,我知道在 Darwin / Mac OS X 上,单位以字节为单位(即使在线手册页另有声明),而且我还在网上找到了一些声明,声称 BSD 上的声明ru_maxrss也以字节为单位(参见例如此处)。哪个是对的?

0 投票
2 回答
1428 浏览

c - getrusage(RUSAGE_THREAD, &r_usage) 中的用户 CPU 时间和系统 CPU 时间究竟是什么?

所以我想知道当前线程到目前为止执行的时间。我正在尝试使用getrusage(RUSAGE_THREAD, &r_usage);它。以下是我的困惑:

1- 这个函数返回的时间是否包括线程被阻塞(例如在条件变量上)或被调度的时间?

2- 线程因为其他原因被阻塞所花费的时间,例如 I/O 阻塞?

3-我可以提高以getrusage(RUSAGE_THREAD, &r_usage);纳秒为单位返回的时间精度吗?

非常感谢!

0 投票
1 回答
544 浏览

c - printf 如何影响 C 中的 getrusage 测量时间

我可能错过了 getrusage() 函数的一些重要点。

当我运行以下代码时,我得到:

用户时间:0.000000 s 系统时间:0.000000 s 总时间:0.000000 s

但是,当我在未注释 printf() 函数(naiveSearch 内部)的情况下运行相同的代码时,我得到了一些预期/现实的时间。为什么在第一种情况下测量零时间?如何可靠地测量时间?

谢谢你的任何想法。P。

更新:必须有一些安全可靠的方法来测试循环中的算法。我需要包括所有标准编译器优化,并且仍然对同一算法进行所有迭代。有什么办法吗?如何确定时间结果代表所有执行的迭代来测试时间性能?

0 投票
2 回答
398 浏览

c++ - 如何在 C/C++ 中查找线程使用的总时间?

我正在尝试以编程方式获取到目前为止特定线程所花费的总时间。

getrusage返回一个线程的 CPU 时间,但我想要时间,即包括线程因任何原因被阻塞所花费的时间。

请注意,我将通过使用我编写的分析器检测给定程序来利用此功能。

一个程序可能有很多线程(我专注于分析服务器,所以可以有很多)。在任何给定时间,我都想知道特定线程花费了多少时间(到目前为止)。因此,在每个线程产生时为每个线程启动一个计时器并不方便。所以我想要一些类似于它的用法,getrusage例如它返回当前线程的总时间,或者我可以将一个线程ID传递给它。因此,手动机制(例如在生成线程时获取时间戳,然后再获取它们的差异)对我来说不是很有帮助。

谁能建议如何做到这一点?

谢谢!