getrusage
getrusage
是一个用于获取系统资源使用情况的函数,它在 Unix 和类 Unix 系统中可用。要使用它,你需要包含 <sys/resource.h>
头文件。下面是一个简单的 C++ 示例程序,用于获取进程的资源使用情况:
使用 RUSAGE_SELF
常量,表示获取当前进程的资源使用情况。你可以根据需要使用其他选项,如 RUSAGE_CHILDREN
来获取子进程的资源使用情况。
usage.ru_utime usage.ru_stime 这两个参数的区别和用途
这两个参数都是在结构体struct rusage中定义的,它们分别对应用户CPU时间和系统CPU时间。
usage.ru_utime: 用户空间进程所消耗的CPU时间。这个时间指进程花费在运行用户程序(代码)上的时间。如果程序在执行系统调用等操作时被阻塞了,则其在这段时间内消耗的CPU时间是不计入ru_utime中的。
usage.ru_stime: 内核空间进程所消耗的CPU时间。这个时间指进程花费在运行内核程序(操作系统代码)上的时间,比如进程运行时需要进行系统调用,会调用内核程序,这段时间的CPU时间会被