gpt4 book ai didi

C++计算CPU/内存使用情况

转载 作者:IT王子 更新时间:2023-10-29 00:53:47 26 4
gpt4 key购买 nike

我有一个名为 ./blah 的 C++ 应用程序(我有它的源代码)

当我运行./blah

我可以运行“top”并查看“./blah”使用了多少内存和 cpu。

现在,“./blah”是否可以访问该信息本身? IE。当我运行 ./blah 时,我希望它每秒转储它的 CPU 和内存使用情况。我应该使用哪个库来执行此操作?

我在 MacOSX 上;但我更喜欢也适用于 Linux 的解决方案。

谢谢!

最佳答案

您需要 getrusage()。来自man page :

int getrusage(int who, struct rusage *r_usage);

getrusage() returns information describing the resources utilized by the current process, or all its terminated child processes. The who parameter is eitherRUSAGE_SELF or RUSAGE_CHILDREN. The buffer to which r_usage points will be filled in with the following structure:

struct rusage {
         struct timeval ru_utime; /* user time used */
struct timeval ru_stime; /* system time used */
long ru_maxrss; /* integral max resident set size */
long ru_ixrss; /* integral shared text memory size */
long ru_idrss; /* integral unshared data size */
long ru_isrss; /* integral unshared stack size */
long ru_minflt; /* page reclaims */
long ru_majflt; /* page faults */
long ru_nswap; /* swaps */
long ru_inblock; /* block input operations */
long ru_oublock; /* block output operations */
long ru_msgsnd; /* messages sent */
long ru_msgrcv; /* messages received */
long ru_nsignals; /* signals received */
long ru_nvcsw; /* voluntary context switches */
long ru_nivcsw; /* involuntary context switches */
};

关于C++计算CPU/内存使用情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2277224/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com