问题标签 [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 回答
74 浏览

c - getrusage 的大部分字段应该为 0 吗?

我在 linux 中编写了两个系统调用,并在系统调用中使用 getrusage 测量它们的资源使用情况。但是,我得到的大多数结果都是 0,我不确定这是否有意义。这是输出:

我只是想知道这个输出是否可以通过,或者它是否表明有问题,所以我没有放任何源代码。谢谢!

0 投票
0 回答
304 浏览

linux - getrusage() 系统调用参数中 rusage 结构的不同值是什么?

我们使用getrusage()系统调用来查找不同的资源值,它需要两个参数,其中第一个参数是RUSAGE_SELFRUSAGE_CHILDREN,另一个参数是一个名为rusage的结构。这个结构有许多可以访问并给出值的元素,但是所有这些元素代表什么?

该程序显示用户时间和系统时间的值。

结构的其他元素代表什么以及如何在实际程序中使用它们,例如,如果我试图访问它们,我将获得所有其他结构元素的值 0。那么如何使用它们来获得 0 以外的值呢?

编辑:我编写了一个程序来查找 ru_inblock 和 ru_oublock 的值。对于任何给定的输入,对于 ru_inblock 和 ru_oublock 的输出为 0 和 8。为什么会这样?代码如下

0 投票
1 回答
286 浏览

linux - 这些获取资源使用情况的方法有什么区别?

在 Linux 中,我们可以使用两种方法来查找使用的资源,例如时间、页面错误、页面交换、上下文切换。一种方法是使用getrusage()函数,另一种方法是使用命令/usr/bin/time -v [command to check usage]。这些查找资源使用情况的方法有什么区别?

0 投票
1 回答
56 浏览

c - 两台不同 Linux 计算机上 C 可执行文件的资源分配

我正在两台不同的 linux 计算机上编译和运行以下 c 文件(华为笔记本电脑 8GB RAM 上的 Arch,iMac 2017 32GB RAM 上的 Ubuntu)。

编译器是: gcc (Ubuntu 9.2.1-9ubuntu2) 9.2.1

gcc (Arch Linux 9.3.0-1) 9.3.0

在 Ubuntu 上,我一直得到:

在 Arch 上,输出并不一致并且大得多:

我很困惑为什么这些值在两台计算机/发行版之间存在如此大的差异。这种内存分配模式的原因是什么?是编译器分配了这些内存资源吗?还是内核决定内存分配?

0 投票
1 回答
44 浏览

cygwin - cygwin 是否支持 api int getrusage(int who, struct rusage *usage); 中的 RUSAGE_THREAD?

我们在 Linux 中使用 api int getrusage(int who, struct rusage *usage);来计算代码中的时间。

我们在这个 api 中使用常量 RUSAGE_THREAD 作为调用线程的参数。如手册页所述,自 Linux 2.6.26 以来引入了 RUSAGE_THREAD。

我们还在 cygwin 环境中使用 cywin64 gcc4.8.2 编译我们的代码。我检查了 C:/cygwin64/ 中的头文件 /usr/include/sys/resource.h ,我似乎找不到在那里定义的 RUSAGE_THREAD ,它只定义了 RUSAGE_SELF 和 RUSAGE_CHILDREN 。我正在使用 cygwin64 (CYGWIN_NT-6.2 1.7.29(0.272/5/3) 2014-04-07 13:46 x86_64 Cygwin)。我还尝试查看最新的 cygwin 版本,但似乎也无法在那里找到它。所以我的问题是,cygwin 是否支持 RUSAGE_THREAD ?如果没有,那么是否有计划添加此支持?

提前致谢。