问题标签 [cpu-time]

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 回答
262 浏览

windows - 在 Windows 上如何测量 CPU 时间?

我目前正在创建一个程序,用于识别挂起/失控的进程,并使用整个 CPU 内核。然后程序会终止它们,因此可以控制 CPU 使用率。

但是,我遇到了一个问题:当我在 Windows 上执行 'tasklist' 命令时,它会输出以下内容:

所以我知道说“CPU时间”的那一行是程序自启动以来使用的总时间(以秒为单位)的指示。

但是让我们假设系统上有 4 个 CPU 内核。这是否意味着它使用了一个核心的 22 秒,因此在整个 CPU 上总共使用了 5.5 秒?或者这是否意味着该进程在整个 CPU 上用完了 22 秒?

0 投票
2 回答
718 浏览

python - 这是 C++ 和 Python 之间 CPU 时间比较的有效方法吗?

我有兴趣比较一些 C++ 与 Python(在 Linux 上运行)编写的代码部分的 CPU 时间。以下方法会在两者之间产生“公平”的比较吗?

Python

使用资源模块

这允许像这样的时间:

然后我测试如下:

C++

使用ctime库:

产生0.002

关注点:

  1. 我读过 C++clock()测量 CPU 时间,这是我所追求的,但我似乎无法找到它是否包括用户和系统时间。
  2. C++ 的结果不那么精确。这是为什么?
  3. 如前所述,比较的总体公平性。

更新

根据 David 在评论中的建议更新了 c++ 代码:

跑步:

所以我想getrusage可以让我得到更好的分辨率,但我不确定我应该读多少。设置优化标志肯定会产生很大的不同。

0 投票
2 回答
132 浏览

database - Monetdb 听诊器的指标 c、m、r、w 和 b 是什么意思?

Monetdb 的听诊器是一个分析工具,并有一个跟踪选项列表。在以下测量结果中,我对一些指标感到困惑。

utime、cuttime、stime 和 cstime 到底是什么?它们似乎是用户和内核空间中的 CPU 时间,但为什么 MAL 指令的“开始”状态有这样的 utime 而“结束”状态没有?而且,它的单位是什么?

rss的单位是什么?

blk.reads blk.writes 应该是以块为单位的 I/O 速度。为什么有些指令的 blk.reads 或 blk.writes 非零,但它们的 rbytes(读取的字节数)和 wbytes(写入的字节数)为零?

听诊器测量结果的部分屏幕截图

此跟踪选项启用此测量:+SatefiITcmrwbsy,在线文档下方对此进行了说明。我不太确定它们的含义。

0 投票
2 回答
12794 浏览

performance - 在 Julia 中测量经过的 CPU 时间

许多科学计算语言对绝对时间(挂钟)和 CPU 时间(处理器周期)进行了区分。例如,在 Matlab 中,我们有:

在 Mathematica 中,我们有:

当在计算服务器上运行基准测试代码时,这种区别很有用,其中绝对计时结果可能存在很大差异,具体取决于同时运行的其他进程。

Julia 标准库通过 、 和一些其他函数/宏都支持表达式的计时,tic()这些toc()函数@time/宏都基于time_ns()测量绝对时间的函数。

我的问题:有没有一种简单的方法可以在 Julia 中获取表达式评估的 CPU 时间?

(旁注:进行一些挖掘,似乎 Julia 计时是基于libuvuv_hrtime()的函数。在我看来,使用同一个库可能会提供一种访问 Julia 中经过的 CPU 时间的方法,但我不是专家。有没有人尝试过使用这样的东西?)uv_getrusage

0 投票
1 回答
1113 浏览

c# - 如何使用 C# 限制 Windows 进程的 cpu 使用率

我需要编写一个附加到某些 Windows 进程的类,监视和限制它们的 cpu 使用率。更改进程优先级对我一点帮助都没有,所以我真的需要编写一个基本上类似于 BES 或 ThreadMaster 的程序。所以我需要创建一个做这样的事情的类(伪代码):

我希望我清楚我想要完成什么,只是我不知道如何。感谢您的每一次帮助。

0 投票
1 回答
382 浏览

node.js - Node.js 中进程的 CPU 时间

有没有办法随时知道 Node.js 进程的 CPU 时间?我需要它来评估我生成的一些 Node.js 进程的 CPU 时间消耗。

谢谢。

0 投票
1 回答
645 浏览

c++ - 如何解释多核机器上 boost::timer::cpu_timer 的输出?

boost::timer::cpu_timer用来衡量我的应用程序中某些算法的性能。示例输出如下所示:

Algo1 持续时间:6.755457s 墙,12.963683s 用户 + 1.294808s 系统 = 14.258491s CPU (211.1%)

来自 boost cpu_timer 文档:

该程序的输出将如下所示:

换句话说,这个程序运行了 5.713010 秒,用墙上的时钟来衡量,操作系统为它收取了 5.709637 秒的用户 CPU 时间和 0 秒的系统 CPU 时间,这两者的总和是 5.709637,和这代表了挂钟时间的 99.9%。

我获得的值是什么意思(211.1%),是否意味着执行我的算法涉及两个以上的内核?

user CPU time和的含义是system CPU time什么?

0 投票
1 回答
942 浏览

cpu-time - CLOCK_THREAD_CPUTIME_ID 是否与 pthread_getcpuclockid(pthread_self(),..) 相同?

在使用 Posix clock_gettime() 获取每线程 CPU 时间方面:使用从 pthread_getcpuclockid(pthread_self(),..) 获得的时钟 ID 或使用 CLOCK_THREAD_CPUTIME_ID 有什么区别?

0 投票
2 回答
79 浏览

multithreading - 为什么其他线程的 CPU 时间不同

我为一个进程运行了 top -H -p,它给了我几个带有 LWP 的线程。但是当我首先用最小的 PID 对结果进行排序时,我注意到第一个线程中的时间是恒定的,但其他线程的时间正在变化。为什么 TIME+ 不一样?

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 16989 root 20 0 106m 28m 2448 S 0.0 0.2 0:22.31 glusterfs 16990 root 20 0 106m 28m 2448 S 0.0 0.2 0:00.00 glusterfs 16992 root 20 0 106m 28m 2448 S 0.0 0.2 0:00.00 glusterfs 16993 root 20 0 106m 28m 2448 S 0.0 0.2 0:00.00 glusterfs 16997 root 20 0 106m 28m 2448 S 0.0 0.2 0:11.71 glusterfs 17010 root 20 0 106m 28m 2448 S 0.0 0.2 0:21.07 glusterfs 17061 root 20 0 106m 28m 2448 S 0.0 0.2 0:00.00 glusterfs

0 投票
1 回答
199 浏览

c - 获取仍在 OS X 上运行的外部进程及其子进程的 cpu 时间

在 linux 上,我可以/proc按照如何从 C 中通过 PID 在 Linux 中计算进程的 CPU 使用率中所述使用?获取进程及其子进程的 CPU 时间。

我将如何在 OS X 上执行此操作?