c - 在 Solaris 10 上从 C 获取 CPU 使用率统计信息

标签 c solaris memory-management cpu-usage

在 Solaris 10 和 C 中,我想像这样定期查询数字

  • 该操作系统进程中特定 LWP 的 CPU 使用率。
  • 该操作系统进程的内存使用情况。

我已经知道如何通过打开/proc/pid/psinfo 并从中读取 (pr_rssize) 来实现后者,但是有没有办法实现前者?

在过去,我 fork 了 prstat 的一个副本,解析了它的输出并将其读回到我的 C 代码中。随着我希望查询越来越多的此类信息,这变得越来越乏味,而且感觉完全错误。肯定有办法用一些简单的 C 代码来做到这一点。

感谢您的帮助。 尼克B

最佳答案

在Solaris上,可以通过读取/proc/pid/lwp/<获取lwp特定的ps信息lwpid/lwpsinfo。此文件包含一个 lwpsinfo 结构,其中包括:

timestruc_t pr_time;      /* cpu time for this lwp */

参见 proc(4)了解更多详情。

关于c - 在 Solaris 10 上从 C 获取 CPU 使用率统计信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1270717/

相关文章:

c - 读/写/修改 C 中的结构

oracle - 在 makefile 中设置动态 ORACLE_HOME

c++ - Solaris 10 x86 C++ 上的 GetThreadTimes

memory-management - 有人能帮我理解 VkPhysicalDeviceMemoryProperties 吗?

ios - 核心数据 : Memory not released after manually faulting managed objects

c++ - delete[] 如何跟踪元素的数量?

c - 如何在不包含 stdio.h 的情况下使用 scanf()

c - 存储最低级别的位并返回一个字符

c++ - 关闭缩进 Eclipse C/C++

bash - 使用 bash 脚本在 linux/solaris 中进行日志轮换