在 Solaris 10 和 C 中,我想像这样定期查询数字
- 该操作系统进程中特定 LWP 的 CPU 使用率。
- 该操作系统进程的内存使用情况。
我已经知道如何通过打开/proc/pid/psinfo 并从中读取 (pr_rssize) 来实现后者,但是有没有办法实现前者?
在过去,我 fork 了 prstat 的一个副本,解析了它的输出并将其读回到我的 C 代码中。随着我希望查询越来越多的此类信息,这变得越来越乏味,而且感觉完全错误。肯定有办法用一些简单的 C 代码来做到这一点。
感谢您的帮助。 尼克B
最佳答案
在Solaris上,可以通过读取/proc/
pid/lwp/<获取lwp特定的
lwpidps
信息/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/