相关疑难解决方法(0)

如何从/ proc/pid/stat获取应用程序的总CPU使用率?

我想知道如何计算进程的总CPU使用率.

如果我这样做,我认为相关领域是(取自lindevdoc.org):cat /proc/pid/stat

  1. 在用户代码中花费的CPU时间,以jiffies为单位
  2. 在内核代码中花费的CPU时间,以jiffies为单位
  3. 在用户代码中花费的CPU时间,包括来自孩子的时间
  4. 在内核代码中花费的CPU时间,包括来自子代的时间

花费14到17之和的总时间是多少?

linux

53
推荐指数
3
解决办法
8万
查看次数

在Linux中查找Thread的CPU使用情况

我有一个在Linux上运行的基于C的应用程序,有大约30个线程.现在我需要编写一个小实用程序,它在给定时间查找每个线程的CPU使用情况.它可以是应用程序的单独或部分.

/ proc的一个问题是找到哪个线程是什么.

请给我一些如何开始的想法.

谢谢

c linux pthreads cpu-usage

7
推荐指数
1
解决办法
1944
查看次数

通过"top"命令在unix中通过单个进程计算Cpu百分比

我想知道"top"命令如何计算任何进程使用的cpu百分比.

我试过在/ proc目录中读取"psinfo"二进制文件,但它没有帮助找到结果.

请提供有关如何完成的任何信息.

提前致谢.

c c++ unix solaris

5
推荐指数
1
解决办法
4352
查看次数

Ocaml:获取进程的CPU使用率

我想做的事

我有一个计算密集的OCaml应用程序,我希望它在后台运行而不会干扰正常的计算机使用.我想向用户提供两个选项:

(1)应用程序仅在CPU使用率几乎为0%时运行;

(2)应用程序仅使用"免费"处理能力(例如,如果其他进程加起来为100%,则OCaml应用程序暂停;如果其他进程几乎为0%,则对OCaml应用程序没有限制;如果其他进程添加比如说,50%然后OCaml将使用高达50%).

一些想法

我的想法是检查代码中各个检查点的CPU使用情况,并在必要时暂停执行.

在(1)中,我们只检查CPU是否低于2%,如果不是,则暂停直到它再次低于2%.

在(2)中,事情比较棘手.由于当没有限制时,应用程序总是消耗100%的CPU,检查点将非常频繁,将CPU使用率降低到一半,我只需要在每个检查点将其延迟到检查点之间的时间.如果检查点频繁,这就类似于使用50%的CPU,我会说.对于其他百分比,我们可以通过暂停适当的时间段来做类似的事情.然而,这看起来非常人为,充满了开销,最重要的是,我不确定它是否真的能满足我的需求.更好的替代方法是Unix.nice n在应用程序开始时使用一些适当的整数调用.我想这个设置n=15可能是正确的.

我的问题

(Q1)如何从我的OCaml应用程序中了解应用程序进程的CPU使用情况?(我想用OCaml函数执行此操作,而不是通过在命令行上调用"ps"或类似的东西...)

(Q2)你认为我的想法存在问题(2).改变流程的优点有哪些实际差异?

(Q3)您对(2)有任何其他建议吗?

ocaml cpu-usage background-process

5
推荐指数
0
解决办法
629
查看次数

标签 统计

c ×2

cpu-usage ×2

linux ×2

background-process ×1

c++ ×1

ocaml ×1

pthreads ×1

solaris ×1

unix ×1