ru_utime 和 ru_stime 成员变量包含了在用户模式和
系统模式中执行时间的总和遥 其结构都为 timeval 结构遥
ru_minflt 成员指不需要 I/O 的页缺失数遥 页缺失发
生在内核需要得到一个内存页以供进程访问遥
ru_majflt 值指需要 I/O 的页缺失数遥 页缺失发生在
内核需要得到一个内存页以供进程访问时遥
有时袁一个进程会被调出内存袁以提供空间给其他
进程使用遥 ru_nswap 指的就是一个进程被调出内存的次
数遥
通过该结构体就可以统计出各用户程序对资源的
图 1 评测系统体系结构
图 2 评测主程序流程
12
《电子技术应用》 www.ChinaAET.com
《电子技术应用》 www.ChinaAET.com
Software Technology
软件天地
占用情况袁 通过调用函数 int getrusage (int who, struct
rusage *rusage) 对用户程序运行时间和内存占用情况进
行分析统计遥
统计程序运行时间院
passtime=usage.ru_utime.tv_sec+usage.ru_stime.tv_sec+
(float)
(usage.ru_stime.tv_usec
+usage.ru_utime.tv_usec)/
1000000;
统计程序所占内存的开销院
usedMemory = usage.ru_minflt*4
通过统计该两项袁能计算出程序运行时间和内存使
用情况的数据